VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Tabellenblattnamen in ein Listenfeld einlesen

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

    


Beiträge aus dem Excel-Forum zu den Themen Dialog und ListBox