chris123030
Cadet 2nd Year
- Registriert
- Nov. 2015
- Beiträge
- 26
Hallo zusammen,
ich habe ein Makro in der Personal.xlsb gespeichert, da ja bekanntlich beim Speichern von Mappen, die aus *.xlt erstellt werden der Code nicht mehr mit gespeichert wird (*.xls). Der Code bleibt also durch die Personal.xlsb global verfügbar.
Mit dem Makro soll der Zellinhalt von einer Mappe (Quelle.xls) in eine andere Mappe (Ziel.xls) kopiert werden.
Der Code sieht wie folgt aus:
Sub DatenÜbertragen()
Dim erste_freie_Zeile As Integer
Dim Blatt As Worksheet
Workbooks.Open "D:\Eigene Dateien\Ziel.xls"
Set Blatt = Workbooks("Ziel.xls").Worksheets("Tabelle1") 'Platzhalter zum Abkürzen
erste_freie_Zeile = Workbooks("Ziel.xls").Worksheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0).Row
Worksheets("Quelle").Cells(15, 3).Copy
Blatt.Cells(erste_freie_Zeile, 1).PasteSpecial xlPasteValues
Das Makro wird mit einem CommandButton in der Quell-Mappe gestartet.
Leider kann ich in der Quell-Mappe nicht vollständig referenzieren (z.B. Workbooks("Name").Worksheets("Quelle").Cells(15, 3).Copy) und den Workbook-Namen angeben, da sich dieser ständig ändert.
So kann das Makro natürlich nicht laufen, da es in der Personal.xlsb gespeichert ist und im Code kein Name für das Quell-Workbook angegeben werden kann.
Wie kann ich das Problem lösen?
Man könnte eine UserForm mit einer ListBox basteln, die alle offenen Workbooks anzeigt und da wählt man dann die Quell-Mappe aus, aber dieses zusätzliche Klicken möchte ich eigentlich nicht, es soll von alleine ablaufen können.
Ich hoffe es ist verständlich was ich meine.
Vielen Dank! :-)
ich habe ein Makro in der Personal.xlsb gespeichert, da ja bekanntlich beim Speichern von Mappen, die aus *.xlt erstellt werden der Code nicht mehr mit gespeichert wird (*.xls). Der Code bleibt also durch die Personal.xlsb global verfügbar.
Mit dem Makro soll der Zellinhalt von einer Mappe (Quelle.xls) in eine andere Mappe (Ziel.xls) kopiert werden.
Der Code sieht wie folgt aus:
Sub DatenÜbertragen()
Dim erste_freie_Zeile As Integer
Dim Blatt As Worksheet
Workbooks.Open "D:\Eigene Dateien\Ziel.xls"
Set Blatt = Workbooks("Ziel.xls").Worksheets("Tabelle1") 'Platzhalter zum Abkürzen
erste_freie_Zeile = Workbooks("Ziel.xls").Worksheets("Tabelle1").Range("A65536").End(xlUp).Offset(1, 0).Row
Worksheets("Quelle").Cells(15, 3).Copy
Blatt.Cells(erste_freie_Zeile, 1).PasteSpecial xlPasteValues
Das Makro wird mit einem CommandButton in der Quell-Mappe gestartet.
Leider kann ich in der Quell-Mappe nicht vollständig referenzieren (z.B. Workbooks("Name").Worksheets("Quelle").Cells(15, 3).Copy) und den Workbook-Namen angeben, da sich dieser ständig ändert.
So kann das Makro natürlich nicht laufen, da es in der Personal.xlsb gespeichert ist und im Code kein Name für das Quell-Workbook angegeben werden kann.
Wie kann ich das Problem lösen?
Man könnte eine UserForm mit einer ListBox basteln, die alle offenen Workbooks anzeigt und da wählt man dann die Quell-Mappe aus, aber dieses zusätzliche Klicken möchte ich eigentlich nicht, es soll von alleine ablaufen können.
Ich hoffe es ist verständlich was ich meine.
Vielen Dank! :-)