Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Nur die sichtbaren Zellen eines AutoFilter-Bereiches einlesen

Gruppe

ListBox

Problem

Wie kann ich nur die sichtbaren Zellen eines mit AutoFilter belegten Bereiches in die ListBox einer UserForm einlesen?

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

ClassModule: frmVisibleCells

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

Private Sub UserForm_Initialize()
   Dim rng As Range
   Application.ScreenUpdating = False
   Set rng = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
   Workbooks.Add
   rng.Copy Range("A1")
   Rows(1).Delete
   If IsEmpty(Range("A1")) Then
      Beep
      MsgBox "Es entspricht kein Datensatz dem Suchkritierumg!"
      ActiveWorkbook.Close savechanges:=False
      End
   ElseIf Range("A1").CurrentRegion.Rows.Count = 1 Then
      lstVisibleCells.AddItem Range("A1").Value
   Else
      lstVisibleCells.List = Range("A1").CurrentRegion.Value
   End If
   ActiveWorkbook.Close savechanges:=False
   Application.ScreenUpdating = True
End Sub

StandardModule: basMain

Sub CallForm()
   frmVisibleCells.Show
End Sub