Registriert seit: 25.11.2021
Version(en): 2019, 365
25.11.2023, 20:24
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2023, 20:28 von Ralf A.)
...Du musst den Code schon komplett übernehmen, denn nach dem Then gehts ja weiter:
If CInt(Mid(Target.Offset(-1, -1), 3, 2)) <> Month(Date) Then .Range("A2") = 0
Und vorallem: in der gleichen Zeile. OHNE Zeilenumbruch!
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 01.01.2023
Version(en): 365
Das habe ich schon so. Aber diesen Teil der Zeile hat der Debugger gelb markiert. da sagt er stimmt was nicht.
Hier mein eingetragener Code: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 And Target.Column = 2 And Target <> "" Then If Target.Offset(, -1) = "" Then Application.EnableEvents = False With Sheets("Administrator") If CInt(Mid(Target.Offset(-1, -1), 3, 2)) <> Month(Date) Then .Range("A2") = 0 Target.Offset(, -1) = Format(Date, "YYMM - ") & Format(.Range("A2"), "000") .Range("A2") = .Range("A2") + 1 End With End If End If Application.EnableEvents = True End Sub
Registriert seit: 25.11.2021
Version(en): 2019, 365
25.11.2023, 20:34
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2023, 20:38 von Ralf A.)
...kann ich nicht nachvollziehen. Kannst Du die Datei mal anhängen? PS: Was Du mal versuchen kannst, schreib vor dem Mid mal ein VBA. (mit dem Punkt) Also: Code: If CInt(VBA.Mid(Target.Offset(-1, -1), 3, 2)) <> Month(Date) Then .Range("A2") = 0
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 01.01.2023
Version(en): 365
25.11.2023, 20:42
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2023, 20:47 von Cinderella.)
Hilfe, jetzt geht gar nichts mehr. Es kommen gar keine zahlen mehr raus dabei. Ich versuch dir die Datei mal kurz über pn zuzustellen. MFG
231125_OS_Mitgliederliste_test.xlsm (Größe: 115,85 KB / Downloads: 2)
Registriert seit: 25.11.2021
Version(en): 2019, 365
Cinderella.xlsm (Größe: 17,3 KB / Downloads: 5)
Vor der PN, probier diese. In B10 mal irgendwas eintragen....
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 01.01.2023
Version(en): 365
bei mir geht das nicht. obwohl ich die sicherheitswarnung deaktiviert habe. eigentlich sollte das doch jetzt gehen?
Registriert seit: 19.12.2020
Version(en): Microsoft 365 (32/64 Bit)
Hallo
Auch wenn ich hier mit zu tun habe, habe ich aus Interesse die Datei von Ralf A ausprobiert, bei mir läuft sie problemlos und macht das was sie tun soll.
Viele Grüße PIVPQ
Registriert seit: 01.01.2023
Version(en): 365
25.11.2023, 21:45
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2023, 21:50 von Cinderella.)
Hallo Ralf
Danke nochmals für Deinen Aufwand. Die Datei die du geschickt hast läuft also nun auch bei mir.
Aber nur wenn ich was eintrage. Wenn ich aber einen Namen hineinkopiere und mit Enter bestätige gibt Excel einen Fehler aus. Geht das nur mit schreiben?
MFG
Oder kann das was damit zu tun haben das wir auf der Haupttabelle auf A7 beginnen und du auf A1?
Registriert seit: 25.11.2021
Version(en): 2019, 365
25.11.2023, 22:22
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2023, 22:22 von Ralf A.)
....smile.... Mein Fehler.... hatte nicht bedacht, dass Du noch keine Einträge in der Liste hast. Dann läuft der Code selbstverständlich in einen Fehler. Hier die Korrektur: Code: Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Fehler If Target.Count = 1 And Target.Column = 2 And Target <> "" Then If Target.Offset(, -1) = "" Then Application.EnableEvents = False With Sheets("Administrator") If IsNumeric(Mid(Target.Offset(-1, -1), 3, 2)) Then _ If CInt(Mid(Target.Offset(-1, -1), 3, 2)) <> Month(Date) Then .Range("A2") = 0 Target.Offset(, -1) = Format(Date, "YYMM - ") & Format(.Range("A2"), "000") .Range("A2") = .Range("A2") + 1 End With End If End If Fehler: Err.Clear Application.EnableEvents = True End Sub
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:1 Nutzer sagt Danke an Ralf A für diesen Beitrag 28
• Cinderella
Registriert seit: 01.01.2023
Version(en): 365
Hallo Ralf
Ich habe den Code eingestellt und es funktioniert=) Vielen herzlichen Dank dir. Das ist superlieb.
Ich wünsche Dir noch ein schönes Wochenende.
MFG
|