#So geht's

Freitag, 22.08.2025
 ☰ 

Topics

xx

Tabelle z.B. Protokoll (autom.) füllen      



Kann Excel Datum & Zeit automatisch eintragen...

...sobald ich einen Eintrag mit Enter abschliesse ?


       klaro, per VBA-Event ganz einfach:


Wie geht das ???

1.  VBA-Editor öffnen, dafür einfach Alt und F11 drücken


2.  Im VBA-Editor links per Doppelklick das gewünschte Register für die Zeilen-Hervorhebung auswählen. Hier exemplarisch 'Tabelle1'


3.  Folgendes im Quellcode-Fenster eingeben.
VBA
Private Sub Worksheet_Change(ByVal Target As Range) '******************************************************** ' Diese Event-Funktion schreibt den aktuellen Zeitstempel ' und den Nutzernamen automatisch ins Worksheet '******************************************************** ' Variablen für ZeilenNr, SpaltenNr Dim iCol_Datum As Integer, iCol_Zeit As Integer Dim dDatum As Date, dZeit As Date Dim sDatum As String, sZeit As String ' Wenn in der Spalte des Protokolleintrags ' eine Änderung vorgenommen wurde If Target.Column = Range("c_Protokoll").Column And _ Target.Row > Range("c_Protokoll").Row Then iAktRow = Target.Row iAktCol = Target.Column ' Datum und Uhrzeit automatisch eintragen If Cells(Target.Row, Target.Column).Value <> "" Then ' SpaltennNr ermitteln und in Variablen merken iCol_Datum = Range("c_Datum").Column iCol_Zeit = Range("c_Zeit").Column ' Akt Datum/Uhrzeit formatiert in string-Variablen merken sDatum = Format(Date, "dd.mm.yyyy") sZeit = Format(Time, "hh:mm") ' Nur wenn die Datums-Zelle leer ist, wird das Datum eingetragen If Cells(Target.Row, iCol_Datum).Value = "" Then Cells(Target.Row, iCol_Datum).Value = sDatum End If ' Nur wenn die Zeit-Zelle leer ist, wird die Uhrzeit eingetragen. If Cells(Target.Row, iCol_Zeit).Value = "" Then Cells(Target.Row, iCol_Zeit).Value = sZeit End If ' Angemeldeten Nutzer eintragen Cells(Target.Row, Target.Column + 1).Value = Environ("username") Else ' wenn der Protokoll-Eintrag gelöscht wurde, werden auch ' der Datum-, der Zeit und der Wer?-Eintrag gelöscht Cells(Target.Row, Range("c_Datum").Column).Value = "" Cells(Target.Row, Range("c_Zeit").Column).Value = "" Cells(Target.Row, Range("c_Protokoll").Column + 1).Value = "" End If End If End Sub




4.  Ausprobieren und freuen.



Meine internen
Webseiten-Infos

Chapter:
chapB
Pfad:
./content/Chap_BundC/
ContentFile:
Protokoll.php

 
chap:
chapB
key:
Rub10_ankAnleit


xx