Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Datum/Uhrzeit in Kombination mit WENN

Betrifft: Datum/Uhrzeit in Kombination mit WENN von: Thomas Mayer
Geschrieben am: 11.10.2020 02:48:45

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")));"") 

Wert wurde in K Spalte eingegeben und runtergezogen.
Variante2:
das ganze in drei Steps über Makro:
=WENN(C149<>0;Timestamp(ZEILE());"")

dann in Modul die Function und Makro aktiviert. Ich wollte alles zuerst nur in die Function stecken, ging nicht.
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

auch hier kommt nur #WERT raus. Ich habe dann die Ausgabe im Makro auf J gestetzt, dass K nur als Schalter dient. Geht auch nicht.

Betrifft: AW: Datum/Uhrzeit in Kombination mit WENN
von: Hajo_Zi
Geschrieben am: 11.10.2020 10:04:21

http://hajo-excel.de/gepackt/vba/datum_bei_aenderung.zip

Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link

GrußformelHomepage

Betrifft: AW: Datum/Uhrzeit in Kombination mit WENN
von: Thomas Mayer
Geschrieben am: 11.10.2020 10:38:18

Danke, mit Anpassen des Codes von tabelle2 komme ich klar. Ich habe nun unter Worksheet_Change(ByVal Target As Range) zwei Bereiche zu überwachen. Einmal auf ein Dropdown in Spalte B (hatte ich vorher schon) und jetzt Spalte C.

Betrifft: AW: Datum/Uhrzeit in Kombination mit WENN
von: Hajo_Zi
Geschrieben am: 11.10.2020 10:40:28

Gut das Problem ist dann ja geklärt. Der Teil ist ja schon im Code enthalten.

Gruß Hajo

Betrifft: AW: Datum/Uhrzeit in Kombination mit WENN
von: Thomas Mayer
Geschrieben am: 11.10.2020 11:08:48

Danke nochmals... Schönes Wochenende