Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt importieren

Tabellenblatt importieren
02.06.2017 10:13:24
Sandra
Hallo Forum,
ich versuche jetzt schon ein paar Tage ein Makro zu basteln.
Ich möchte per VBA ein beliebiges Tabellenblatt in meine aktive Arbeitsmappe importieren. Kopiert werden soll immer "Tabelle1" und soll dann als viertes Tabellenblatt mit dem Namen "Druckschriften" eingefügt werden.
Ich habe bereits ein Makro aufgenommen und etwas abgeändert:
Option Explicit

Sub kopieren()
Dim WBZiel As Workbook, ExportDatei As Variant
Dim WBQuelle As Workbook, WSZiel As Worksheet
Set WBZiel = ThisWorkbook
Application.ScreenUpdating = False
ExportDatei = Application.GetOpenFilename("Excel-Dateien, *.xl*", , "Bitte die Datei zum  _
Kopieren öffnen ...")
ExportDatei = CStr(ExportDatei)
If ExportDatei = "Falsch" Then Exit Sub
Set WBQuelle = Workbooks.Open(ExportDatei)
Sheets("Tabelle1").Select (an dieser Stelle, kommt eine Fehlermeldung:
Laufzeitfehler 9, Index auserhalb des gültigen Bereichs)
    Sheets("Tabelle1").Copy Before:=Workbooks("überarbeitung.xlsm").Sheets(4)
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Druckschriften"
End Sub

Was mach ich falsch?
Vielen Dank vorab
Sandra

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt importieren
02.06.2017 10:17:59
yummi
Hallo Sandra,
versuch mal so (Referenzieren heisst das Zauberwort)

Sub kopieren()
Dim WBZiel As Workbook, ExportDatei As Variant
Dim WBQuelle As Workbook, WSZiel As Worksheet
Set WBZiel = ThisWorkbook
Application.ScreenUpdating = False
ExportDatei = Application.GetOpenFilename("Excel-Dateien, *.xl*", , "Bitte die Datei zum  _
Kopieren öffnen ...")
ExportDatei = CStr(ExportDatei)
If ExportDatei = "Falsch" Then Exit Sub
Set WBQuelle = Workbooks.Open(ExportDatei)
WBQuelle.Sheets("Tabelle1").Copy Before:=WBZiel.Sheets(4)
WNQuelle.Sheets("Tabelle1").Name = "Druckschriften"
End Sub
Ist aber ungetestet.
Gruß
yummi
Anzeige
AW: Tabellenblatt importieren
02.06.2017 10:33:25
Sandra
Hallo yummi,
WOW! das ging verdammt schnell. Erstmal besten Dank! Meine VBA Kenntnisse halten sich noch in Grenzen.
Leider bekomme ich hier:
WBQuelle.Sheets("Tabelle1").Copy Before:=WBZiel.Sheets(4)
dieselbe Fehlermeldung wie zuvor.
AW: Tabellenblatt importieren
02.06.2017 10:42:55
yummi
hallo Sandra,
gib mal bitte vor der zeile ein:

dim i as integer
for i = 1 to WBZiel.sheets.count
debug.print "Sheet(" & i" & ")= " & WBZiel.Sheets(i).name
next i
Das gibt dir im Direktfenster im Debugger die Namen deiern Sheets aus.
Hast Du überhaupt ein Sheet(4)?
Ich kenne dien Datei ja nicht.
Gruß
yummi
Anzeige
AW: Tabellenblatt importieren
02.06.2017 10:56:33
Sandra
Hallo yummi,
ich habe wesentlich mehr als 4 Sheets, allerdings möchte ich ja, das Excel mir an vierter Stelle das kopierte Tabellenblatt neu einfügt. Muss zwingend ein leeres Tabellenblatt, mit Namen auf den ich mich beziehe, vorhanden sein?
Mal so dumm gefragt.
Gruß Sandra
AW: Tabellenblatt importieren
02.06.2017 11:24:27
yummi
Hallo Sandra,
ich hab das gerade mal nachgespielt und es geht.
Frage: Existiert in der von dir geöffneten Quelldatei ein Sheet mit dem Namen Tabelle1? (achte bitte auch auf evtl Leerzeichen am Ende)
Sonst geh mal Step by Step mit dem debugger durch und passe zur not zur laufzeit mal die Sheetnamen in deienm script an.
Gruß
yummi
Anzeige
AW: Tabellenblatt importieren
02.06.2017 11:57:24
Sandra
Ah ja, ein Leerzeichen übersehen ;)
Funktioniert!
Vielen, vielen Dank für deine Hilfe & Geduld :)
Ein schönes Wochenende und schöne Pfingsten!

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige