Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Noch ein weiteres Problem:
ich möchte einen Timestamp auf meinem Dokument machen, sobald sich was in Spalte C ändert. Dann soll in Spalte K ein Timestamp fest platziert werden. Die Funktion JETZT() brachte nicht den Erfolg. Denn bei wiederholter Änderung in C, werden alle JETZT() Variablen aktualisiert.
In A2 ist ein Wert gedruckt, der angibt, dass schon was gedruckt wurde.
In der Spalte J ist ein Indikator, der sagt, die Zeile ist eine Korrekturzeile.
Beide stehen mit K in Verbindung. D.h. wenn A2 gesetzt, wird "NB + Datum" ausgegeben, bei Werten in J wird "Korrektur + Datum" ausgegeben. Ansonsten bei Änderung in C nur das Datum.
Variante 1:
=WENN(C147<>0;WENN($A$2<>0;"NB. "&TEXT(JETZT();"TT.MM.JJJJ HH:MM");WENN(J147<>0; "Korrektur " & TEXT(JETZT();"TT.MM.JJJJ HH:MM");TEXT(JETZT();"TT.MM.JJJJ HH:MM")));"")
=WENN(C149<>0;Timestamp(ZEILE());"")
Public Function Timestamp(Zeile As Long) As String Dim sDate As String sDate = Format(Now, "dd.mm.yyyy, hh:mm") ' If (Sheets("Tabelle1").Cells(2, 1) <> "") Then ' Timestamp = "NB " & sDate ' ElseIf Range("J" & Zeile) <> "" Then ' Timestamp = "Korr. " & sDate ' Else: Timestamp = sDate ' ' End If Timestamp = sDate Call Korrekturfeld(Zeile) End Function Sub Korrekturfeld(Zeile As Long) MsgBox Zeile Dim sDate As String sDate = Format(Now, "dd.mm.yyyy, hh:mm") If (Sheets("Tabelle1").Cells(2, 1).Value <> "") Then MsgBox "Nachdruck" Cells(Zeile, 12).Value = "NB " & sDate ElseIf Range("J" & Zeile).Value <> "" Then MsgBox "bin noch richtig" Cells(Zeile, 12) = "Korr. " & sDate Else: Cells(Zeile, 12) = sDate MsgBox "wedernoch" End If 'Timestamp = sDate End Sub