Datumstempel fix in Tabellenzeile
#1
Rainbow 
Guten Abend Zusammen

ich habe ein Makro gebastelt, in dem bei der Änderung der Zelle in Spalte A in Spalte H das aktuelle Datum eingetragen wird.
Nachteil ist, daß das Datum nicht fix ist. Sobald ich durch die Tabelle blätter und in Spalte A bin wird natürlich das Datum auf das Aktuelle gesetzt.
Dass sollte so nicht sein, weiß aber nicht, wie ich das anders darstellen kann.
Der Code sieht so aus: (Optimierungsvorschläge immer gerne Undecided )

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'MS_15.03.2019
Dim TABL As Range                                                                   'Variablendeklaration
Set TABL = ActiveSheet.ListObjects("Fragenliste").ListColumns(1).DataBodyRange
If Intersect(Target, TABL) Is Nothing Then Exit Sub                                 'Datum in Zelle
Cells(Target.Row, 8) = Date

Dim Ws As Worksheet: Set Ws = ActiveSheet                                           'Variablendeklaration
Dim r As Range, s&, i&

Application.ScreenUpdating = False                                                  'Tabellengröße reduzieren
   With Ws.ListObjects(1)
       Set r = .DataBodyRange.Resize(.DataBodyRange.Rows.Count, 1)
       s = WorksheetFunction.CountA(r)
       If s < .ListRows.Count Then
           For i = .ListRows.Count To s + 2 Step -1
               .ListRows(i).Delete
           Next i
       End If
   End With
   Set Ws = Nothing: Set r = Nothing
Application.ScreenUpdating = True
ActiveSheet.ListObjects("Fragenliste").ListRows.Add                                    'eine Spalte hinzufügen
End Sub

Gruß
Michael
Win 10
Office 2010 & 2016
Top
#2
Hi Michael,

mal 'ne blöde Frage: würde es nicht reichen, wenn du Änderungen vornimmst, das Datum einfach manuell mit STRG+. (Punkt) zu setzen? Dieses Datum verändert sich nicht mehr.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallöchen,

mal 'ne neunmalkluge Antwort: passend zu "Änderung der Zelle" wäre ein Ereignismakro Worksheet_Change.
Worksheet_SelectionChange reagiert bereits auf die Selektion, ohne dass es zu einer Änderung gekommen sein muss.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
.....
@WillWissen
das ist eine reine Komfort-Spielerei, dass das Datum direkt am Ende der Zeile eingetragen wird, wenn eine neue Zeile genutzt wird.

@Schauan
hab ich probiert, Makro hängt sich dann aber weg.

@ alle Interessierte
Vielleicht habt ihr noch andere Ideen, das Datum beim anfügen einer neuen Zeile einzutragen.
Würde aber gerne weiterhin eine intelligente Tabelle nutzen .
Da ich das Blatt nicht alleine nutze, habe ich mich dazu entschlossen, ggf hinzugefügte leere Zeilen bis auf zwei zu löschen.
Das hat den Hintergrund, dass die Kollegen dann ihre Einträge nicht außerhalb der Tabelle eintagen und sich dann wundern, warum der Filter ggf nicht greift....

Gruß
Michael
Win 10
Office 2010 & 2016
Top
#5
Zitat:@Schauan

hab ich probiert, Makro hängt sich dann aber weg.

Das Makro hängt sich wahrscheinlich deswegen weg, weil Application.EnableEvents noch auf True steht und damit dürfte das in eine Endlosschleife laufen ...
Top


Gehe zu:


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