Datum kopieren und modifizieren (Ahnenforscher Datum)
#21
Nun in der hochgeladene Datei:

Code:
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


Angehängte Dateien
.xlsb   __flexdatum_snb.xlsb (Größe: 81,02 KB / Downloads: 9)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#22
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


Angehängte Dateien
.xlsb   __flexdatum_snb(1).xlsb (Größe: 83,24 KB / Downloads: 0)
Antworten Top
#23
Hallo Martin,

das geht so nur durch die Hintertüre.

zusätzlich ins Modul des Tabellenblatt1:
Code:
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
Anbei die Datei zum Testen.

Gruß Uwe


Angehängte Dateien
.xlsm   Datum Test 1.xlsm (Größe: 312,11 KB / Downloads: 12)
Antworten Top
#24
Guten Abend Uwe
es funktioniert perfekt. 78 das ist  35
Hast ein 18 verdient.
Wünsche noch ein schöner Abend
Gruss Martin
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste