Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1504to1508
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 mit Loop

Tabellenblatt importieren mit Loop
22.07.2016 18:08:18
Hendrik
Hallo zusammen,
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt importieren mit Loop
22.07.2016 18:21:13
Fennek
Hallo Hendrik,
um mehrere Dateien nacheinander zu öffnen, kann man im GetOpenFilenama-Dialog auch mehrere markieren, dann muss die Option "Multiselect" (oder so ähnlich) gesetz sein. Der Rückgabewert ist dann ein Array, dass in einer Schleife nacheinander abgearbeitet werden kann.
Falls alle zu öffnenden Dateien in einem Ordner liegen, kann man auch z.B. mit einer Inputbox den Ordner abfragen (oder in den Code schreiben) und dann eine Schleife über alle Dateien legen.
Analog geht es auch für mehrere Sheets in einer Datei.
Da dies eine sehr häufige Fragestellung ist, kann jede Suchmaschine helfen.
mfg
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige