Mit VBA zwei Spalten filtern
18.01.2004 22:16:54
Schroedi
ich hab's wirklich versucht, aber alleine kriege ich's nicht hin..!
Was ich brauche ist ein Script, das zwei Spalten filtert. Habe versucht, das Beispiel-Script aus dem Archiv umzuschreiben, funktioniert aber nicht.
Folgendes soll (vorerst) passieren:
Spalte A filtern (erster Wert z.B. 10) und "innerhalb der Spalte A die Spalte B filtern (Werte zwischen 0 und 99). Nach jedem Filtern soll das Ergebnis ausgedruckt werden.
Also:
10 xx 1; 10 xx 3; 10 xx 12; ...
20 xx 1; 20 xx 3; 20 xx 12; ...
Mit meinem (nichtmal) Halbwissen habe ich herumprobiert, weiß auch schon mehr als vorher, aber es reicht noch nicht... :-(
Vielleicht kann sich ja mal jemand anschauen, was ich bisher habe (s.u.)
Danke! Schroedi.
Sub FilternUndDruckenII()
Dim arr1()
Dim iRow1 As Integer
Range("A:A").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("z1"), Unique:=True
iRow1 = 1
Do Until IsEmpty(Cells(iRow1, 26))
ReDim Preserve arr1(iRow1 - 1)
arr1(iRow1 - 1) = Cells(iRow1, 26)
iRow1 = iRow1 + 1
Loop
Dim arr2()
Dim iRow2 As Integer
Range("C:C").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("aa1"), Unique:=True
iRow2 = 1
Do Until IsEmpty(Cells(iRow2, 27))
ReDim Preserve arr2(iRow2 - 1)
arr2(iRow2 - 1) = Cells(iRow2, 27)
iRow2 = iRow2 + 1
Loop
Columns(26).ClearContents
Columns(27).ClearContents
For iRow1 = 1 To UBound(arr1)
Columns(1).AutoFilter Field:=1, Criteria1:=arr1(iRow1)
For iRow2 = 1 To UBound(arr2)
Columns(3).AutoFilter Field:=1, Criteria1:=arr2(iRow2)
ActiveSheet.PrintPreview
Next iRow2
Next iRow1
Range("A1").AutoFilter
End Sub