Mit der Funktion =WENN(B122>0;HEUTE();"")
bekomme ich bei einer Eingabe in b122 das aktuelle Datum
Wie kann ich verhindern, das sich beim nächsten öffnen
(z.B. morgen) das Datum nicht aktualisiert sondern das Datum am Eingabetag
bleibt?
Besten Dank für die Hilfe
Georg
"Georg Kinateder" <georg.k...@t-online.de> schrieb im Newsbeitrag
news:a3buaa$3cf$00$1...@news.t-online.com...
Geht nur über VBA. Füge in den Code für Dein Sheet folgendes ein:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$122" Then
if val(Target) >0 then
'die vorstehende Zeile prüft, ob ein Zahlenwert>0 eingegeben wurde, wenn
auch Text-Eingaben gefragt sind, musst Du if target <> "" eingeben
If ThisWorkbook.ActiveSheet.[B123] = "" Then
ThisWorkbook.ActiveSheet.[B123] = Date
End If
end if
end If
End Sub
Dabei musst Du "B123" durch die Zelle ersetzen, in der Du das Datum haben
willst. Die 3fache If-Then Abfrage sieht übrigens zwar blöd aus, ist aber
"schneller" (bestimmt 1/10 Millisekunde! ;-) ), als wenn Du alle Bedingungen
auf einmal abfragst.
Ich hoffe, das hilft Dir weiter.
Gruß
--
Michael
michael....@gmx.de
Das sollte klappen
Jörg
"Georg Kinateder" <georg.k...@t-online.de> schrieb im Newsbeitrag
news:a3buaa$3cf$00$1...@news.t-online.com...
Viele Grüße
Georg
"Michael Schüller" <michael....@gmx.de> schrieb im Newsbeitrag
news:a3c09i$vh9$03$1...@news.t-online.com...
"Georg Kinateder" <georg.k...@t-online.de> schrieb im Newsbeitrag
news:a3c24v$ato$00$1...@news.t-online.com...
> Vielen Dank für die schnelle Anwort,
> habe mich wohl nicht ganz richtig Ausgedückt:
> wollte in Spalte B1, B2, B3 usw. eine Eingabe machen und das aktuelle
Datum
> in Spalte C1, C2, usw. ausgeben ohne das es sich am nächsten Tag neu
> aktualisiert!
>
> Viele Grüße
> Georg
Ok. Dann verwende:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 2 Then'Column=2 entspricht Spalte B
If Val(Target) > 0 Then 'oder Val(Target)<>"", falls auch Texteingaben
If Target.Offset(0, 1) = "" Then'Target.Offset(0, 1) heißt 0 Zeilen
darunter und 1 Spalte daneben
Target.Offset(0, 1) = Date
End If
End If
End If
End Sub
Ist das besser?
Gruß
--
Michael
michael....@gmx.de
>Mit der Funktion =WENN(B122>0;HEUTE();"")
>bekomme ich bei einer Eingabe in b122 das aktuelle Datum
>Wie kann ich verhindern, das sich beim nächsten öffnen
>(z.B. morgen) das Datum nicht aktualisiert sondern das Datum am Eingabetag
>bleibt?
Zelle kopieren, Rechtsklick ->"Inhalte Einfügen ->Werte"
Und wenn du das ganze automatisieren willst: die Prozedur mit dem
Makrorecorder aufzeichnen und die Aufzeichnung als
Workbook_BeforeClose Event eintragen.
HTH
Jörg