Gruppe
Dialog
Bereich
ListBox
Thema
Nur die sichtbaren Zellen eines AutoFilter-Bereiches einlesen
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