VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Spalte A mehrer Mappen in UserForm und aktives Blatt

Gruppe

Dialog

Bereich

ListBox

Thema

Spalte A mehrer Mappen in UserForm und aktives Blatt

Problem

Wie kann ich aus allen Arbeitsmappen eines Verzeichnisses den jeweiligen Inhalt von Spalte A in eine UserForm-ListBox einlesen und danach in das aktive Blatt eintragen lassen?

Lösung

Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.




ClassModule: frmDaten

Private Sub cmdWeiter_Click()
   Dim iRow As Integer
   For iRow = 0 To lstDaten.ListCount - 1
      Cells(iRow + 1, 1).Value = lstDaten.List(iRow)
   Next iRow
   Unload Me
End Sub

StandardModule: basMain

Sub CallForm()
   Dim iCounter As Integer, iRow As Integer
   Application.ScreenUpdating = False
   Application.EnableEvents = False
   On Error GoTo ERRORHANDLER
   With Application.FileSearch
      .LookIn = Range("C1").Value
      .FileType = msoFileTypeExcelWorkbooks
      .Execute
      For iCounter = 1 To .FoundFiles.Count
         Workbooks.Open .FoundFiles(iCounter), False
         With Range("A1").CurrentRegion
            For iRow = 1 To WorksheetFunction.CountA(.Columns(1))
               frmDaten.lstDaten.AddItem Cells(iRow, 1).Value
            Next iRow
         End With
         ActiveWorkbook.Close savechanges:=False
      Next iCounter
   End With
   frmDaten.Show
ERRORHANDLER:
   Application.EnableEvents = True
   Application.ScreenUpdating = True
End Sub

    


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