Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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

Excel-Tabellenblätter importieren VBA

Excel-Tabellenblätter importieren VBA
05.10.2018 09:43:10
Hendrik
Hallo zusammen,
ich komme leider mit meinem Halbwissen wieder nicht weiter.
Der unten stehende Code soll, was er auch tut, ein Tabellenblatt aus einer anderen Datei einfügen. Funktioniert wunderbar.
Nun aber mein Problem: Da ich viele Dateien einfügen muss, möchte ich nicht jede Datei einzeln auswählen müssen mit GetopenFile. Der Mutliselect = True funktionert nicht.
Gibt es denn eine andere Möglichkeit die Dateien auf einmal einzufügen und nicht einzeln ?
Vielen Dank vorab!
VG
Hendrik

Sub Datenholen()
Dim ExportDatei As Variant
Dim WBQuelle As Workbook, WBZiel As Workbook
Dim lngCalc As Long
Dim nummer As Variant
Dim Anzahl As Variant
Application.ScreenUpdating = True
With Application
.ScreenUpdating = False
.EnableEvents = True
.DisplayAlerts = True
.StatusBar = True
'Nummer = ThisWorkbook.Sheets("Tabelle1").Range("AK2").Value
For i = 1 To 12
On Error GoTo ErrExit
Set WBZiel = ThisWorkbook
'DateiÖffnen Dialog anbieten
ChDrive "C:\"
ChDir "C:\Mails\MEGA"
ExportDatei = Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xlsx*),*.xlsx*", , " _
Bitte auswählen ...", MultiSelect:=False)
If ExportDatei = False Then Exit Sub
If ExportDatei  CStr(False) Then
'öffnen der ausgewählten Datei
Set WBQuelle = Workbooks.Open(ExportDatei)
With WBZiel
WBQuelle.Sheets("Table 1").Copy after:=.Sheets(.Sheets.Count)
End With
WBQuelle.Close False
Set WBZiel = Nothing
Set WBQuelle = Nothing
ErrExit:
With Err
If .Number  0 Then
MsgBox "Fehler." & Chr(13) & Chr(13) & "Bitte schließen."
End If
End With
End If
On Error GoTo 0
With Application
.StatusBar = False
End With
Next
MsgBox "wurden akzeptiert."
End With
Application.ScreenUpdating = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Excel-Tabellenblätter importieren VBA
05.10.2018 11:10:27
Bernd
Hallo Hendrik,
evtl. so ...
Sub TabellenImportieren()
Dim lngCounter As Long
Dim wbOrig As Workbook
Dim wbTarg As Workbook
workbook.open "E:\MS-Excel\1 Entwicklung\Testdateien\XXXX.xlsx"	 'anpassen
Set wbOrig = Workbooks("XXXX.xlsx")		'anpassen
Set wbTarg = Workbooks("ZielDatei.xls")		'anpassen
For lngCounter = 1 To wbOrig.Sheets.Count 	'ab erster Tabelle wird importiert, ggfls "1"  _
anpassen
wbOrig.Sheets(lngCounter).Copy After:=wbTarg.Sheets(wbTarg.Sheets.Count)
Next lngCounter
Set wbTarg = Nothing
Set wbOrig = Nothing
End Sub
Gruß
Bernd
Anzeige
AW: Excel-Tabellenblätter importieren VBA
05.10.2018 14:09:51
Hendrik
Hallo Bernd,
vielen Dank für die rasche Antwort.
Leider habe ich mich wohl etwas falsch ausgedrückt.
Ich möchte nicht jedes Tabellenblatt aus EINER Datei, sondern ein Tabellenblatt aus jeweils einer Datei.
Dein Code, soweit ich es verstehe, nimmt von Datei A alle Tabellenblätter und fügt diese in Datei B ein.
Am besten wäre es, wenn ein Dateipfad zu einem Ordner besteht, aus dem die ganzen Dateien gezogen werden. und dann jeweils ein Tabellenblatt kopiert wird.
Gibt es so etwas ?
AW: Excel-Tabellenblätter importieren VBA
05.10.2018 19:55:10
Hendrik
Super, vielen Dank Bernd. Hat wunderbar geklappt :)
AW:Danke für Rückmeldung! owT
06.10.2018 11:20:17
Bernd
Bist du das auch....
05.10.2018 15:11:36
Werner
Hallo Hendrik,
https://www.herber.de/forum/messages/1649109.html
Wenn ja, stellt sich mir die Frage, warum du in diesem Beitrag nicht antowrtest bevor du einen neuen Beitrag auf machst?
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige