Probleme mit Excel VBA - Kopieren von Bereichen bzw. Arbeitsblatt
Hallo zusammen,
ich möchte gern aus einer Excel-Datei werte aus einer Tabelle kopieren in ein anderes Excel File kopieren.
Dazu würde ich erst die "Tabelle1" aus der Quelldatei in die Zieldatei kopieren. Anschließend meine Werte von der Tabelle in eine andere.
Das Problem was ich habe ist, dass ich permanent einen Fehler bekomme, dass der Index außerhalb des Gültigen Bereichs sei.
Hier mal mein Code:
Die Kopierte Tabelle soll dann zum Schluss wieder gelöscht werden.
Gruß
ich möchte gern aus einer Excel-Datei werte aus einer Tabelle kopieren in ein anderes Excel File kopieren.
Dazu würde ich erst die "Tabelle1" aus der Quelldatei in die Zieldatei kopieren. Anschließend meine Werte von der Tabelle in eine andere.
Das Problem was ich habe ist, dass ich permanent einen Fehler bekomme, dass der Index außerhalb des Gültigen Bereichs sei.
Hier mal mein Code:
Sub Daten()
quelle = Application.GetOpenFilename()
If quelle = False Then GoTo Mark1
ziel = Application.GetOpenFilename()
If ziel = False Then GoTo Mark2
Workbooks.Open quelle
Workbooks.Open ziel
cnt = ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets("Tabelle1").Copy after:=Workbooks(ziel).Sheets(cnt)
'Workbooks(quelle).Sheets("Tabelle1").Copy after:=Workbooks(ziel).Sheets(cnt)
'Workbooks.Open (ziel)
msgbox "Daten wurden übernommen.", vbokonly
GoTo Ende
Mark1:
MsgBox "Es wurde keine Quelldatei ausgewählt.", vbOKOnly
GoTo Ende
Mark2:
MsgBox "Es wurde keine Zieldatei ausgewählt.", vbOKOnly
Ende:
End Sub
Die Kopierte Tabelle soll dann zum Schluss wieder gelöscht werden.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 254731
Url: https://administrator.de/contentid/254731
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
3 Kommentare
Neuester Kommentar
Hi killtec,
du solltest beim öffnen mehrerer Workbooks am besten die Referenzen der Workbooks Variablen zuweisen und diese für den Zugriff benutzen.
Grüße Uwe
du solltest beim öffnen mehrerer Workbooks am besten die Referenzen der Workbooks Variablen zuweisen und diese für den Zugriff benutzen.
Sub Daten()
Dim wbQuelle As Workbook, wbZiel As Workbook, strPathQuelle, strPathZiel
'Dateinamen anfordern
strPathQuelle = Application.GetOpenFilename()
strPathZiel = Application.GetOpenFilename()
If strPathQuelle = False Then
MsgBox "Es wurde keine Quelldatei ausgewählt.", vbOKOnly
Exit Sub
End If
If strPathZiel = False Then
MsgBox "Es wurde keine Quelldatei ausgewählt.", vbOKOnly
Exit Sub
End If
Application.ScreenUpdating = False
'Workbooks öffnen
Set wbQuelle = Workbooks.Open(strPathQuelle)
Set wbZiel = Workbooks.Open(strPathZiel)
'Sheet kopieren
wbQuelle.Worksheets("Tabelle1").Copy After:=wbZiel.Worksheets(wbZiel.Worksheets.Count)
'Quell-Workbook schließen (nicht speichern)
wbQuelle.Close False
'Ziel-Workbook schließen und speichern
wbZiel.Close True
'Quell-Workbook löschen
Kill (strPathQuelle)
Application.ScreenUpdating = True
MsgBox "Daten wurden übernommen.", vbOKOnly
End Sub