22.12.2020, 09:30
Guten Morgen!
Ich habe folgendes Problem, wenn ich ein Makro ausführen will, es kommt immer die Fehlermeldung:
Laufzeitfehler 424 - Objekt erforderlich
Es geht um folgenden Code:
Das Makro AuszahlungenSpalteCaktualisiert habe ich deswegen erstellt bzw. ausgelagert, weil ich in einem anderen Sheet mit Private Sub Worksheet_Change(ByVal Target As Range) immer die Fehlermeldung bekommen habe:
Prozedur zu groß
Darum habe ich in dem Sheet mit Private Sub Worksheet_Change(ByVal Target As Range) den Code auslagern wollen, der wie folgt aussieht:
Ich hoffe, dass mir jemand helfen kann.
LG
Thomas
Hallo!
Ich habe gerade gesehen, dass der Befehl "Target" nur in einem Ereignismakro zur Verfügung steht, nicht in einer normalen Sub. Darum diese Fehlermeldung.
Meine Frage wäre nun, wie kann ich dieses Makro trotzdem zum Laufen bringen?
Wie gesagt, dass Ursprungsproblem ist eigentlich die Fehlermeldung "Prozedur zu groß".
LG
Thomas
Ich habe folgendes Problem, wenn ich ein Makro ausführen will, es kommt immer die Fehlermeldung:
Laufzeitfehler 424 - Objekt erforderlich
Es geht um folgenden Code:
Code:
Sub AuszahlungenSpalteCaktualisiert()
With ActiveWorkbook.Worksheets("Auszahlungen")
If Month(Target.Offset(0, 0)) < Month(Date) And .Range("EP2").Value > .Range("EP5").Value And Range("ER2").Value < .Range("EK5").Value And Worksheets("Jahresstatistik").Range("AH1").Value = 1 Then 'Monat in Spalte C kleiner als das aktuelle Monat, am meisten Auszahlungsbeantragungen pro Monat aber kein bester Beantragungsmonat und Vergleich mit Vorjahr möglich'
MsgBox "Du hast im " & Format(.Range("EQ2").Value, "MMMM YYYY") & " insgesamt am meisten Auszahlungen beantragt, nämlich " & .Range("EP2").Value & " in Höhe von € " & Format(.Range("ER2").Value, "#,##0.00") & "."
.Range("EI5").Value = .Range("EI2").Value 'bester Beantragungsmonat - Datum'
.Range("EK5").Value = .Range("EK2").Value 'bester Beantragungsmonat - Beantragungsbetrag'
.Range("EP5").Value = .Range("EP2").Value 'am meisten Auszahlungsbeantragungen pro Monat'
End If
End With
End Sub
Das Makro AuszahlungenSpalteCaktualisiert habe ich deswegen erstellt bzw. ausgelagert, weil ich in einem anderen Sheet mit Private Sub Worksheet_Change(ByVal Target As Range) immer die Fehlermeldung bekommen habe:
Prozedur zu groß
Darum habe ich in dem Sheet mit Private Sub Worksheet_Change(ByVal Target As Range) den Code auslagern wollen, der wie folgt aussieht:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'Wenn etwas geändert wird'
If Target.Column = 3 Then 'in Spalte C (Datum) sich was ändert'
AuszahlungenSpalteCaktualisiert
End If
End Sub
Ich hoffe, dass mir jemand helfen kann.
LG
Thomas
Hallo!
Ich habe gerade gesehen, dass der Befehl "Target" nur in einem Ereignismakro zur Verfügung steht, nicht in einer normalen Sub. Darum diese Fehlermeldung.
Meine Frage wäre nun, wie kann ich dieses Makro trotzdem zum Laufen bringen?
Wie gesagt, dass Ursprungsproblem ist eigentlich die Fehlermeldung "Prozedur zu groß".
LG
Thomas