Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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)
Antworten 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)
Antworten 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
Antworten 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 ...
Antworten Top


Gehe zu:


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