Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Tabellenblattnamen in ein Listenfeld einlesen

Gruppe

ListBox

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