Cut Copy VBA
#1
Moin zusammen,

ich würde gerne eine Liste im 1. Reiter Mieterliste über einen Aktualisierungsbutton (der allerdings im dritten Reiter ist) über einen Laufwerkpfad aktualisieren.
Es sollen also im ersten Reiter "Mieterliste" alle Inhalte gelöscht werden und durch die Informationen aus der Datei über den Pfad:
R:\Hilfe\03_Reporting\Auswertungen
ersetzt werden. ich habe es über eine Makro Aufzeichnung versucht aber dann werden die Daten immer im dritten Reiter eingefügt.. (Liegt das daran dass der CommandButton dort liegt?)

Grüße
Felix

Aus dem Beispiele und Workshops-Forum hierher verschoben
Moderator
[Bild: Ameise.gif]
Top
#2
(16.10.2017, 09:24)BachFel schrieb: … aber dann werden die Daten immer im dritten Reiter eingefügt.. (Liegt das daran dass der CommandButton dort liegt?)
Moin Felix!
Klar, sieht man doch deutlich in Zeile 42 des Makros!  :21:
Immer korrekt referenzieren!
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
Anbei die Datei =)

Wie gesagt:
die Mieterliste (Reiter 1) soll beim drücken des Command Buttons (der sich im dritten Reiter befindet) automatisch über den Pfad:
"R:\Allianz\03_Reporting\Auswertungen SPM Allianz\Mieterliste_Allianz_171013.XLSX" aktualisieren. Das aufgezeichnete Makro ist im Modul 2.

Es wäre auch super wenn die Abfrage nach dem Zwischenspeicher umgangen werden kann.

Grüße
Felix


Angehängte Dateien
.xlsm   Stacking_nachBF.xlsm (Größe: 566,03 KB / Downloads: 0)
Top
#4
Sub Makro2()
'
' Makro2 Makro
'
'
    Range("A1:BA760").Select
    Selection.ClearContents
    Workbooks.Open Filename:= _
        "R:\Allianz\03_Reporting\Auswertungen SPM Allianz\Mieterliste_Allianz.xlsx"
    Range("A1:BA760").Select
    Selection.Copy
    Windows("Stacking_nachBF.xlsm").Activate
    Range("A1").Select
    ActiveSheet.Paste
    Windows("Mieterliste_Allianz.xlsx").Activate
    Range("BA732").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("BA730").Select
    ActiveWindow.Close
    Range("A2").Select
End Sub

So das aufgezeichnete Makro. Jetzt hätte ich gerne dass man nicht mehr gefragt wird, ob man die andere Datei speichern mag und dann man dieses Makro noch auf den Reiter Mieterliste bezieht.
Top
#5
Moin!
Lies Dir mal dieses aufmerksam durch, dann weißt Du, was ich mit korrekter Referenzierung meine:
Achtung Makrorekorder oder Wer selektiert denn da?

Es ist besser, die jeweiligen Workbooks Objektvariablen per Set wkb = Workbooks.Open zuzuweisen, dann funktioniert auch die Intellisense.

Bei der .Close-Methode gibt es den optionalen Parameter SaveChanges:=
Diesen solltest Du auf False setzen.
https://msdn.microsoft.com/de-de/VBA/Exc...thod-excel

Du solltest Dich dringend mit den Grundlagen beschäftigen, schließlich ist das ja nicht Deine erste Frage.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • BachFel
Top
#6
Servus Ralf,

ich muss mich absolut mal mit der ganzen Thematik auseinander setzen, gebe ich dir vollkommen Recht. Aktuell ist es zeitlich leider eng =(
das mit dem SaveChanges hat wunderbar geklappt. Vielen Dank hierfür erstmal.

Nur packe ich es nicht das die Aktualisierung sich auch tatsächlich nur auf den Reiter Mieterliste begrenzt.. Sobald ich das Sub in den CommandButton integriere wird auch das Blatt in dem der Button liegt überschrieben.

Kannst du mir hier evtl. nochmal Unterstützung zukommen lassen?

Grüße
Felix
Top
#7
ich habs, tausend Dank für deine Unterstützung! :100:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste