ich bräuchte mal wieder eine kleine Hilfestellung.
Ich möchte anhand von VBA eine Dateien öffnen (Dialog) aus dieser Datei ein Tabellenblatt kopieren und in meine aktive Datei einfügen.
Dazu habe ich auch schon einen funktionierendes und passendes Skript, welches aber leider nur einmalig funktioniert.
Frage: Wie muss ich das Skript ändern, damit ich nacheinander .xls Dateien auswählen kann, beim Auswählen das Tabellenblatt daraus in meine Datei, Tabellenblatt(LV1) kopieren kann. Dies soll dann weiter gehen nur, dass es die Zweite ausgewählte externe Datei, dann ins Tabellenblatt(LV2) einfügt.
Evtl. "i" als integer dimmen und mit einer For und Next Schleife arbeiten? Wenn ja- das hat bei mir eben nicht funktioniert :/.
Zur Info:
- Der Tabellenblattname der externen Dateien ist immer gleich. (Im Skript als "C2" deklariert)
- Die Tabellenblattnamen, wohin es dann einfügt werden soll stehen im Tabellenblatt("Userform").Range("D & i").
Wir ihre bereits beim Lesen bemerkt haben könntet, fällt es mir nicht leicht das Problem verständlich zu erklären. Ich hoffe dennoch, dass es unter Euch ein paar gibt, die vielleicht spüren, wie ich denke ;-).
Das Skript:
Option Explicit
Sub kopieren()
Dim ImportDatei As Variant
Dim wbImport As Workbook
Dim QSheet As String
ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Eine Datei auswählen")
If ImportDatei = False Then Exit Sub
Sheets("Userform").Select
QSheet = Range("C2")
Set wbImport = Workbooks.Open(ImportDatei)
wbImport.Worksheets(QSheet).UsedRange.copy
ThisWorkbook.Worksheets("LV2").Cells(1, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
wbImport.Close savechanges:=False
Set wbImport = Nothing
End Sub
Vielen Dank schon mal vorab!
Viele Grüße
Hendrik