hallo
ich möchte mit hilfe eines makros unter anderem auch das heutige datum in eine zelle setzen und dieses soll dann auch nicht mehr verändert werden.
habe dazu mit dem makro rekorder meine schritte aufgezeichnet aber bei der datumseingabe merkt es sich nicht die tastenkombi „strg + .“ sondern schreibt dort das datum rein an dem ich das makro erstellte.
gibts dafür ne andere möglichkeit? =heute() ändert ja ständig den wert auf das aktuelle, wie oben erwähnt soll das heutige datum rein aber in 2 wochen soll an der stelle dann immernoch der 9.2.09 stehen
habe dazu mit dem makro rekorder meine schritte aufgezeichnet
aber bei der datumseingabe merkt es sich nicht die tastenkombi
„strg + .“ sondern schreibt dort das datum rein an dem ich das
makro erstellte.
jo, das ist richtig… Excel bzw Office verwendet da die Windows-Zwischenablage und schreibt nur den Inhalt ins Makro…
gibts dafür ne andere möglichkeit? =heute() ändert ja ständig
den wert auf das aktuelle, wie oben erwähnt soll das heutige
datum rein aber in 2 wochen soll an der stelle dann immernoch
der 9.2.09 stehen
Klar…
Zum einen kannst Du ja ein =HEUTE() verwenden und dann den Inhalt der Zelle mit Range(„A1“).Value = Range(„A1“).Value neu setzen…
Zum anderen kannst Du aber natürlich auch die DATE funktion von vba verwenden…
ich möchte mit hilfe eines makros unter anderem auch das
heutige datum in eine zelle setzen und dieses soll dann auch
nicht mehr verändert werden.
Excel stellt dafür nichts bereit, weil es unsinnig wäre; jeder Anwender und jede Prozedur könnte das Datum wieder ändern. Sinnvoll wäre statt dessen ein Zugriff auf das Erstellungsdatum der Datei. Auszug aus der VBA-Hilfe:
Sub ShowFileInfo(filespec)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(filespec)
s = "Created: " & f.DateCreated
MsgBox s
End Sub
gibts dafür ne andere möglichkeit? =heute() ändert ja ständig
den wert auf das aktuelle, wie oben erwähnt soll das heutige
datum rein aber in 2 wochen soll an der stelle dann immernoch
der 9.2.09 stehen
Hallo Sven,
die beiden anderen Antworten irritieren mich leicht, hab ich da was falsch verstanden?
Egal.
Wenn man in Extras–Optionen die Iteration auf 1 setzt kann man Zirkelbezugmeldungen vermeiden.
Mach das mal. Dann schreibe in einer neuen leeren Tabelle in
B1: =WENN(UND(ISTZAHL(A1);A1>0;A1
habe dazu mit dem makro rekorder meine schritte aufgezeichnet
aber bei der datumseingabe merkt es sich nicht die tastenkombi
„strg + .“ sondern schreibt dort das datum rein an dem ich das
makro erstellte.
jo, das ist richtig… Excel bzw Office verwendet da die
Windows-Zwischenablage und schreibt nur den Inhalt ins
Makro…
Hallo Munich,
kann man das irgendwo im Internet nachlesen, interesssiert mich?
Wenn ich mit Strg+c irgendeinen Text/Zellinhalt in die Zwischenablage schaufle, so zeigt mir das nachfolgende Makro den Textinhalt der Zwischenablage an.
Starte ich das Makro während einer Makroaufzeichnung so kommt bei Gettext ein Fehler der irgendwas von falscher Struktur erzählt.
Also wohl grad keine Textstruktur oder so in der Zwischenablage.
Gruß
Reinhard
Sub tt()
Dim ZA As New DataObject
ZA.GetFromClipboard
MsgBox ZA.GetText(1)
End Sub
danke für eure antworten
wollte das gerade mal ausprobieren und das komplette datum klappt auch aber wenn ich nur in eine spalte dd in die andere mm und in ne 3. yy rein schreibe dann bringt er mir nicht die korekten ergebnisse
brauche nicht das komplette datum in einer zelle sondern will es in 3 aufteilen damit ich danach dann sortieren kann
ich bin eigentlich eher mehrheitlich ein Fragender in www, hatte aber vielleicht ein ähnliches Problem wie du.
Ich habe aus dem sich ändernden =heute() ein festes Datum gemacht, indem ich mit einem aufgezeichnetem Makro den Zellwert in „heute()“ in eine andere Zelle mit „kopieren - Inhalte einfügen - Werte“ eingefügt habe. Musste nur noch das Format richtig anpassen. Schon steht das Datum für immer und ewig.
Djsven
Zelle A1: =Heute()
rechte Maustaste auf die Zelle - Zelle formatieren - Register Zahlen - Benutzerdefiniert - Schreibe DD (falls Englisch) oder TT in die Weisse Zeile. - OK ==> Output = 18 für den 18.02.09
Zelle B1: =Heute()
rechte Maustaste auf die Zelle - Zelle formatieren - Register Zahlen - Benutzerdefiniert - Schreibe MM (in die Weisse Zeile. - OK
==> Output = 02 für den 18.02.09
Zelle c1: =Heute()
rechte Maustaste auf die Zelle - Zelle formatieren - Register Zahlen - Benutzerdefiniert - Schreibe JJ(in die Weisse Zeile. - OK
==> Output = 09 für den 18.02.09
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]