Excel – Geöffnete Dateien gezielt auslesen – VBA

In Excel habe ich mehrere Dateien geöffnet. Zwischen diesen möchte ich über einen Listbox-Dialog wählen und die Inhalte sämtlicher Tabellenblätter einlesen können.

E389_1

E389_2

Der Code wird in den Excel Videos # 389 und # 390 erläutert.

Code im Modul:
Option Explicit
Sub FormAufrufen()
frmAufruf.Show
End Sub

Code des Formulars:

Option Explicit
Private Sub cmdAbbruch_Click()
Unload Me
End Sub

Private Sub cmdOK_Click()
Dim wksAufruf As Worksheet
Dim wkbAufruf As Workbook
Dim wksActive As Worksheet
Dim i As Integer
Dim lngLetzteZeile As Long

On Error GoTo ErrorHandler

Set wksActive = ThisWorkbook.Worksheets("Zusammenfassung")
Set wkbAufruf = Workbooks(lstDateien.Value)
i = 1
lngLetzteZeile = wksActive.Cells(Rows.Count, 1).End(xlUp).Row

For Each wksAufruf In wkbAufruf.Worksheets
wksActive.Cells(lngLetzteZeile + i, 1).Value = wksAufruf.Name
wksActive.Cells(lngLetzteZeile + i, 2).Value = Application.WorksheetFunction.Sum(wksAufruf.Range("A:A"))
wksActive.Cells(lngLetzteZeile + i, 3).Value = wkbAufruf.Name
i = i + 1
Next wksAufruf

Set wksAufruf = Nothing
Set wkbAufruf = Nothing
Set wksActive = Nothing
Unload Me
Exit Sub

ErrorHandler:

MsgBox "Sie haben wohl keine Datei ausgewählt.", vbInformation, "Datei wählen"
Exit Sub
End Sub

Private Sub UserForm_Initialize()
Dim wkb As Workbook
For Each wkb In Workbooks
lstDateien.AddItem wkb.Name
Next wkb
Set wkb = Nothing
End Sub

Anschließend besteht die Aufgabe, zwischen den geschlossenen Dateien in einem Verzeichnis wählen zu können. Dafür muss das Verzeichnis vorab ausgelesen werden, um über die Listbox angeboten werden zu können. To be continued…

Erstellung der ListBox mit den Dateinamen

Auswertung der Tabellenblätter der ausgewählten Arbeitsmappe