Gruppe
Dialog
Bereich
ListBox
Thema
Tabellenblattnamen in ein Listenfeld einlesen
Problem
Wie kann ich die Tabellenblattnamen einer auszuwählenden Arbeitsmappe in ein Listenfeld der aktiven Arbeitsmappe einlesen?
Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.
ClassModule: Tabelle1
Private Sub cmdWks_Click()
Dim wks As Worksheet
Dim arr() As String
Dim vName As Variant
Dim iCounter As Integer
lstWks.Clear
Application.ScreenUpdating = False
vName = Application.GetOpenFilename("Excel-Arbeitsmappen (*.xls), *.xls")
If vName = False Then Exit Sub
Workbooks.Open vName
ReDim arr(1 To ActiveWorkbook.Worksheets.Count)
For Each wks In ActiveWorkbook.Worksheets
iCounter = iCounter + 1
arr(iCounter) = wks.Name
Next wks
ActiveWorkbook.Close
Application.ScreenUpdating = True
lstWks.List = arr
End Sub