wieder habe ich ein VBA-Problem:
Zur Darstellung aller (nicht) ausgeblendeten Zeilen in einem UserForm wird die Anzahl belegter Zeilen ermittelt. Das folgende VBA-Prog. liefert aber noch die alte Anzahl an Zeilen (viele wurden inzwischen wieder gelöscht), nicht die aktuelle Anzahl. Versuche, "UsedRange()" zu ersetzen habe ich leider nicht hinbekommen. Eine MsgBox liefert mir zwar mit
MsgBox Cells.Find("*", searchdirection:=xlPrevious).Row
die (richtige) letzte benutzte Zeile. Wie benutze ich aber diese Angabe/Formel in diesem VBA zur Anzeige aller ausgeblendeten Zeilen:
Private Sub UserForm_Initialize()
Dim x$, C&
Dim rng As Range
Set rng = ActiveWorkbook.ActiveSheet.UsedRange()
For C = 1 To rng.Rows.Count
x$ = C
Me.lstRows.AddItem x$
If Not rng.Rows(C).Hidden Then
Me.lstRows.Selected(C - 1) = True
End If
Next C
End Sub
Dies ist nur ein Ausschnitt, andere SUB´s sind für die Definition der Userform, hier ist nur die Zeile "Set rng = ActiveWorkbook.ActiveSheet.UsedRange()" von Bedeutung, die hier den jemals benutzten Bereich ermittelt und nicht den aktuell benutzten.
Habt Ihr eine Lösung für dieses triviale Problem?
Danke schon mal
Hans-Werner