Excel VBA: Zellen mit einem Makro selektieren

Mit einem Makro werden die verschiedensten Abläufe automatisiert. In diesem Beispiel geht es um die Selektion von Daten und deren Ausgliederung auf ein anderes Tabellenblatt. Zum Schluss werden noch die Vorzeichen auf eine sehr elegante Art und Weise gedreht.

Sub Falschbuchungen_Funktionsbereich()

‚Als erstes wird der Autofilter aktiviert. Dieser ist immer sehr hilfreich, wenn es um die Selektion von Daten geht.

    Selection.AutoFilter

‚Jetzt werden die Daten nach einem oder mehreren Kriterien gefiltert

    ActiveSheet.Range("$A$1:$M$5163").AutoFilter Field:=1, Criteria1:="SA"

    ActiveSheet.Range("$A$1:$M$5163").AutoFilter Field:=10, Criteria1:= _

        "SW132452"

    ActiveSheet.Range("$A$1:$M$5163").AutoFilter Field:=13, Criteria1:="5465"

‚Nun werden die Daten Spalte für Spalte markiert, kopiert und auf einem anderen Tabellenblatt eingefügt  

    Range("I1").Select

    Range(Selection, Selection.End(xlDown)).Select

    Selection.Copy

    ActiveSheet.Previous.Select

    ActiveSheet.Paste

    ActiveSheet.Next.Select

    Range("K1").Select

    Range(Selection, Selection.End(xlDown)).Select

    Application.CutCopyMode = False

    Selection.Copy

    ActiveSheet.Previous.Select

    Range("B1").Select

    ActiveSheet.Paste

[adcode categories=“office,excel“]

‚Unabhängig vom Namen des Tabellenblattes wird das nächste Blatt ausgewählt

    ActiveSheet.Next.Select

    Range("M1").Select

    Range(Selection, Selection.End(xlDown)).Select

    Application.CutCopyMode = False

    Selection.Copy

‚Unabhängig vom Namen des Tabellenblattes wird das vorherige  Blatt ausgewählt

    ActiveSheet.Previous.Select

    Range("C1").Select

    ActiveSheet.Paste

    ActiveSheet.Next.Select

    Range("D1").Select

    Range(Selection, Selection.End(xlDown)).Select

    Application.CutCopyMode = False

    Selection.Copy

    ActiveSheet.Previous.Select

    Range("D1").Select

    ActiveSheet.Paste

    Range("F2").Select

‚Jetzt wird noch bei einer kompletten Spalte das Vorzeichen gedreht

    Application.CutCopyMode = False

    Selection.FormulaR1C1 = "-1"

    Selection.Copy

    Range("D1").Select

    Range(Selection, Selection.End(xlDown)).Select

‚Zum Vorzeichen drehen wird die Multiplikationsmöglichkeit in der Einfüge-Funktion genommen

    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _

        SkipBlanks:=False, Transpose:=False

    Range("F2").Select

    Application.CutCopyMode = False

‚Alle nicht mehr benötigten Werte werden gelöscht   

Selection.ClearContents

    Range("A1").Select

End Sub

Lesen Sie auch den Beitrag Excel VBA: Text mit einem Makro aufbereiten.