VBA für Spalten filtern

Ich habe eine große Datenbank-Blatt, erste Zeile enthält überschriften. Ich möchte eine Teilmenge von Zeilen dieser Tabelle, basierend auf Werte in der Spalte. Zwei Fragen:

1) VBA-wise würde ich gerne eine Schleife durch die Spalten, wenn die Werte für alle erforderlichen Spalten alle identisch sind, kopieren Sie die gesamte Zeile in ein neues Blatt.

2) Die Teilmenge von Zeilen basiert auf einer Liste. Ich habe gerade gelesen, kann ich Autofilter für ein array. Ist es möglich den input dieses array aus einer Spalte statt der manuellen Eingabe im VBA-code? Die Liste, die ich verwende besteht aus 200 verschiedenen Saiten und werden regelmäßig aktualisiert.

Wo CritList ist die Liste von strings. Ich muss noch herausfinden wie, aber jetzt habe ich das Büro verlassen, also morgen mehr.

EDIT1 Dank @DougGlancy; die autofiltering funktioniert jetzt. Hier ist seine schöne code (ich habe nur Hinzugefügt das array-filter).

EDIT2 Enthalten eine ausführlichere array-filter, wo NameList ist die Liste, die ich möchte zu filtern. Nun es funktioniert alles!

Sub FilterAndCopy()
Dim LastRow As Long

Dim vName As Variant
Dim rngName As Range
Set rngName = Sheets("Sheet3").Range("NameList")

vName = rngName.Value

Sheets("Sheet2").UsedRange.Offset(0).ClearContents
With Worksheets("Sheet1")
    .Range("A:E").AutoFilter

    'Array filter from NameList
    .Range("A:J").AutoFilter Field:=3, Criteria1:=Application.Transpose(vName), _
                                Operator:=xlFilterValues

    .Range("A:E").AutoFilter field:=2, Criteria1:="=String1" _
                                  , Operator:=xlOr, Criteria2:="=string2"
    .Range("A:E").AutoFilter field:=3, Criteria1:=">0", _
    .Range("A:E").AutoFilter field:=5, Criteria1:="Number"

    LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
    .Range("A1:A" & LastRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy _
            Destination:=Sheets("Sheet2").Range("A1")

End With
End Sub
Wie wäre es mit einem autofilter statt? Die excel-version verwenden Sie?
Ich bin mit Excel 2011 auf Mac. Ja. mal sehen, wenn ich den autofilter arbeiten..

InformationsquelleAutor Ampi Severe | 2012-12-18

Schreibe einen Kommentar