.SpecialCells(xlCellTypeVisible) versteh ich nicht
08.07.2004 14:49:57
Reinhard
bei der Entwicklung des Codes zu:
https://www.herber.de/bbs/user/8247.xls
(evtl. Lösung von https://www.herber.de/forum/messages/451763.html )
hat mich SpecialCells(xlCellTypeVisible) sehr lange aufgehalten:-(
In A4 ist ein Autofilter, der über den Bereich A5:A106 geht. Wenn ich was Bestimmtes auswähle, sind nur die Zellen A10, A44, A78 eingeblendet, mit dem gleichen Inhalt zb "Gesundbrunnen-Apotheke)".
Mit .SpecialCells(xlCellTypeVisible).Cells(1,1) kann ich auf A10 zugreifen.
Leider nicht mit .SpecialCells(xlCellTypeVisible).Cells(2,1), da komme ich zu A11.
Makro1 liefert fälschlicherweise ungleich=wahr da es A10 mit A11 und A11 mit A12 vergleicht, wo verschiedene Apos drinstehen.
makro2 liefert korrekt ungleich=falsch da es A10 mit A10, A10 mit A44, A10 mit A78 vergleicht.
Wie komme ich nun an die eingeblendeten Zellen per Index ?, ohne per Schleife den Bereich A5:A106 nach eingeblendet zu durchforsten oder mit umgebautem Makro2 jede Zelle in ein Array einzulesen?
Dankeschön
Gruß
Reinhard
Sub test1()
Dim ungleich As Boolean
Set Bereich = Worksheets("Daten").Range("A5:A106").SpecialCells(xlCellTypeVisible)
For n = 1 To Bereich.Cells.Count - 1
If Bereich.Cells(n, 1) <> Bereich.Cells(n + 1, 1) Then
ungleich = True
Exit For
End If
Next n
MsgBox ungleich
End Sub
Sub test2()
Dim ungleich As Boolean
Set Bereich = Worksheets("Daten").Range("A5:A106").SpecialCells(xlCellTypeVisible)
For Each ze In Bereich.Cells
If Bereich.Cells(1, 1) <> ze Then
ungleich = True
Exit For
End If
Next ze
MsgBox ungleich
End Sub