Hallo zusammen ...
Ich habe ein Workbook, mit einem benannten Worksheet ("MusterAl in PJ-2023"). In diesem Worksheet ist in Spalte "D" das Beginndatum eines Lernabschnittes eingetragen, in Spalte "E" das Endedatum. In Spalte "F" stehen die absolvierten Lerneinheiten.
Problemstellung:
Im Endergebnis sollen später die Lerneinheiten den korrekten Jahren zugeordnet werden (2023, 2024,2025) ... dazu soll die Tabelle "aufgeräumt" werden.
Beim Übergang von Zeile 20 zu Zeile 21 ist eine klare Trennung vorhanden.
Beim Übergang von Zeile 37 zu Zeile 38 hingegen ist ein Bruch: ([09.12.2024] [07.02.2025])
Folgendes möchte ich erreichen:
- unter Zeile 37 soll eine weitere Zeile eingefügt werden.
- in Zeile 37 wird Zelle E37 auf den Wert [31.12.2024] gesetzt.
- in der neuen Zeile 38 wird der Wert in D38 auf den Wert [01.01.2025] und die Zelle E38 auf den Wert [07.02.2025] gesetzt.
Dieser ganze Vorgang wird über einen Button in einem Userform gestartet.
Leider habe ich bis jetzt noch nichts erreicht, ausser, das ich in der Userform die letzte Zeil und Spalte des genutzten Bereiches auslesen (und zur Kontrolle in einer MsgBox auswerfen) ließ:
Private Sub btn_001_Click()
'Hier wird die letzte Zeile ermittelt
'Egal in welcher Spalte sich die letzte Zeile befindet
'Es werden alle Spalten geprüft und die letzte Zeile ausgegeben
varLastRow = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
varLastColumn = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
MsgBox "Letzte Zeile: " & varLastRow & vbCrLf & "Letzte Spalte: " & varLastColumn
End Sub
Ich stelle mir also vor, das mit einer "For-Schleife" jede Zeile des Bereichs abgefragt wird, ob die letzten 4 Zeichen der Zelle in D und die letzten vier Zeichen der Zelle in E übereinstimmen. Wenn nicht, dann tritt das obige Procedere in Kraft.
In Spalte "L" habe ich mit "Bordmitteln" ...
=WENN(RECHTS(D9)>RECHTS(E9);1;0)
... versucht die Prüfung umzusetzen, was auch geklappt hat. Aber leider habe ich es nicht geschafft, das in VBA umzusetzen und die Konsequenz zu programmieren.
Hier meine kleine Beispieldatei: https://www.herber.de/bbs/user/159552.xlsm
(P.S.: ich habe eben nach dem Hochsenden gemerkt, das ich in meine "Bordmittel-Lösung" nur das letzte Zeichen, nicht aber die letzten 4 geprüft habe. Ich denke aber, es ist für die Bedingung unerheblich)