AW: Falsche Zellen werden markiert
03.12.2008 08:14:27
Josef
Hallo!
Habe jetzt bei der Recherche ein spitzen Makro von Luschi entdeckt:
Sub selectFilter()
Dim rg1 As Range, rg2 As Range, rg3 As Range, rg4 As Range
'alle sichtbaren Zellen im Filterbereich
'leider gehören dazu auch die Spaltenüberschriften
Set rg1 = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
'Überschriftenzeile ermitteln
Set rg2 = rg1.Rows(2)
'Set rg2 = rg1.Rows(1)
'alle Spaltenüberschriften rausselektieren
For Each rg3 In rg1
If Application.Intersect(rg3, rg2) Is Nothing Then
'alle Zellen zu einem neuen Bereich (rg4) zusammenfassen, _
die sich nicht in der Überschriftenzeile befinden
If rg4 Is Nothing Then
Set rg4 = rg3
Else
Set rg4 = Union(rg4, rg3)
End If
End If
Next rg3
'gefilterte Zellen selektieren
rg4.Select
'alle Objektvariablen deaktivieren
Set rg1 = Nothing
Set rg2 = Nothing
Set rg3 = Nothing
Set rg4 = Nothing
End Sub
Nachdem ich zwei Überschriftzeilen habe korrigierte ich die Zeile
Set rg2 = rg1.Rows(1) auf Set rg2 = rg1.Rows(2)
Die über den Autofilter gefundenen Werte welche mittels diesem Makro markiert werden, werden in eine andere Tabelle kopiert.
Wenn jetzt bei dem Autofilter ein im Code vorkommender vordefinierter Wert nicht vorkommt, wird zwar logischerweise nichts in das andere Arbeitsblatt kopiert bis auf eine der Überschriftszeilen was jedoch nicht passieren sollten.
Sind die Werte im Autofilter enthalten, dann funktioniert alles bestens. wie kann ich bitte verhindern, dass die eine Überschriftszeile in das AB kopiert wird?
Danke
Josef