Sub M_snb() With Tabelle1.Rows(6) With .Find("Geburt-Datum").Offset(1).Resize(Rows.Count - 7) For j = 0 To 2 .Replace Array("vor", "nach", "um")(j), Array("BEF", "AFT", "ABT")(j) Next
sn = .SpecialCells(2) For j = 1 To UBound(sn) If InStr(sn(j, 1), ".") Then sn(j, 1) = Mid(Format(Format(Replace(sn(j, 1), ".", "/"), "d MMM yyyy"), ">"), 1 - 2 * (Len(sn(j, 1)) = 7)) Next End With
.Find("Geburt.-.Datum").Offset(1).Resize(UBound(sn)) = sn End With End Sub
12.12.2022, 20:06 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2022, 20:45 von luna101.)
Guten Abend Uwe
Danke für das bereinigte Makro. Leider funktioniert es nicht wie gewünscht. Wenn ich in der Spalte ('Geburt-Datum) eine Zelle ändere, wird die ganze Spalte nach "Geburt.-.Datum" kopiert und markiert. Es sollte aber nur die bearbeitet Zeile kopiert werden, so wie es vorher war, nur beim Verlassen der Zelle, egal eine Zeile höher oder tiefer oder nach rechts sollte die bearbeitet Zelle kopiert und markiert werden. Entschuldige, dass ich dich nochmals mit einem Wunsch belästige. Wäre dankbar, wenn das noch bereingt werden könnte. Mit dankbaren Grüssen Martin Guten Abend snb Danke für Deine beigelegte Mappe. Habe sie mal getestet. Das Modifizieren und Markieren funktioniert. Nur werden leider auch die Zellen in der Spalte "AD" geändert. Die sollten jedoch unverändert bestehen bleiben. Danke für Deine Hilfe. Gruss Martin
Private Sub Worksheet_SelectionChange(ByVal Target As Range) lngNeueZeile = ActiveCell.Row End Sub
und ins allgemeine Modul
Code:
Public lngNeueZeile&
Sub Datum1() Dim i As Long, j As Long, k As Long, Spalte1 As Range, Spalte2 As Range 'Geburts Datum i = ActiveCell.Row - (ActiveCell.Row - lngNeueZeile) With Tabelle1 und so weiter