ich befasse mich das erste Mal mit Makros und habe eine Frage zu einem Code.
Kurz zu meiner Aufgabe:
Ich habe eine Tabelle mit vielen Kennzahlen. Je nach dem Berichtsanlass werden verschiedene Kennzahlen gezeigt. Es gibt zwei verschiedene Berichtsanlässe, einmal "Monat" und einmal "Jahr".
Ich habe mich nun erst auf den Filtercode konzentriert, welcher beim Berichtsanlass Monat _ angewendet werden soll, dieser hat auch funktioniert:
Sub FilterMoBe()
ThisWorkbook.Worksheets("Blatt").Activate
ActiveSheet.UsedRange.AutoFilter
ActiveSheet.UsedRange.AutoFilter 2, "1 immer"
End Sub
hierbei ist "1 immer" das Kriterium vom Filter
Nun wollte ich meinen Code erweitern. Das Kriterium für den Berichtsanlass Jahr ist "3CFR". Ob _ es sich um den Berichtsanlass Monat oder Jahr handelt steht in der Zelle K10 in einem anderen Tabellenblatt. Ich habe den Code wie folgt angepasst:
Sub FilterMoBe()
ThisWorkbook.Worksheets("Blatt").Activate
If Range("Parameter & Steuerung!K10") = "Monat" Then
ThisWorkbook.Worksheets("Blatt").Activate
ActiveSheet.UsedRange.AutoFilter 2, "1 immer" 'wählt der Filter immer aus
Else
ThisWorkbook.Worksheets("Blatt").Activate
ActiveSheet.UsedRange.AutoFilter 2, "1 immer", xlOr, "3CFR"
End If
End Sub
Leider zeigt es mir immer den Laufzeitfehler 1004 mit "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen.
Könnte mir da jemand weiter helfen und eventuell sagen was in dem Code falsch ist?