myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Exel VBA Statisches Datum/Uhrzeit

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 05.07.13, 10:02   #1
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard Exel VBA Statisches Datum/Uhrzeit

Hallo Gemeinde,

Ich habe folgendes vorhaben.
Ich möchte in Exel in eine Zelle Haben (A1) in welche automatisch das Aktuelle Datum eingetragen wird, sobald in Zelle (A2) ein Wert steht.
Das gleiche auch noch mit der Uhrzeit.
Sobald in Zelle A4 ein Wert Steht, wird in Zelle A3 Die Aktuelle Zeit Eingetragen.
Diese Zeiten sollen dann Statisch sein und nur verändert werden wenn in den jeweiligen Überprüfungsfelder wieder etwas verändert wird.

Habe schon gegoogelt, aber nix passtendes gefunden. Muss wohl mit VBA gelöst werden, und das kann ich leider nicht.

Danke für eure Mühe
St4R ist offline   Mit Zitat antworten
Ungelesen 05.07.13, 11:40   #2
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Hi...
erstmal an alle VBA-Profis... ich habe mir das alles selbst beigebracht und ich weiß, dass das progammiertechnisch nicht ganz das Wahre ist, aber es funktioniert....

Menü Entwicklertools---Code anzeigen--- dort folgenden Code hineinkopieren...

Datums- und Zeitformat kannst du dir dann selbst aussuchen... Immer wenn du nun in Zelle A2 oder A4 etwas änderst, wird entsprechend in A1 bzw. A3 das aktuelle System-Datum bzw. die aktuelle System-Zeit eingetragen
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 06.07.13, 12:57   #3
VideoLord
Zentrum der Macht
 
Registriert seit: May 2009
Beiträge: 83
Bedankt: 68
VideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt Punkte
Standard

@eitch100

Ich hätte das zunächst ohne VBA gelöst.

Ins Feld A1
=wenn(A2="";"";heute())
A1 muss als Datum formatiert sein.

Ins Feld A3
=wenn(A4="";"";jetzt())
A3 muss als Uhrzeit formatiert sein.

Sobald nun in A2 oder A4 Änderungen vorgenommen werden, aktualisiert sich automatisch das Feld A1 oder A3 und zwar unabhängig voneinander.
Anmerkung: Das Datum und auch die Zeit ändern sich bei dieser Version leider immer beim Neuöffnen der Datei- daher wahrscheinlich unbrauchbar für dich!

LG
VideoLord
VideoLord ist offline   Mit Zitat antworten
Ungelesen 06.07.13, 15:53   #4
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Zitat:
Zitat von VideoLord Beitrag anzeigen
Sobald nun in A2 oder A4 Änderungen vorgenommen werden, aktualisiert sich automatisch das Feld A1 oder A3 und zwar unabhängig voneinander.
Aber eben nur einmal; und zwar genau dann wenn A2 oder A4 nicht leer sind. Bei weiteren Änderungen tut sich nix mehr und was noch schlimmer ist, die Werte in A1 und A2 passen sich permanent an, was ja ausdrücklich nicht erwünscht war...

In deiner Anmerkung hast du ja schon das richtige Fazit gezogen... Mit meinem Code muss man allerdings die Änderung mit Enter abschließen...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 06.07.13, 19:28   #5
VideoLord
Zentrum der Macht
 
Registriert seit: May 2009
Beiträge: 83
Bedankt: 68
VideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt Punkte
Standard

Da bin ich ja recht froh, dass du noch vor Ende deines Zitats meinen Post zu Ende gelesen hast und Ihn entsprechend bewertet und kommentiert hast.
Schein bei einigen hier im Board ein regelrechter Sport zu sein, sei es wie es ist. Spam bleibt Spam- mein Motto.

Zitat:
Zitat von eitch100 Beitrag anzeigen
Aber eben nur einmal; und zwar genau dann wenn A2 oder A4 nicht leer sind. Bei weiteren Änderungen tut sich nix mehr und was noch schlimmer ist, die Werte in A1 und A2 passen sich permanent an, was ja ausdrücklich nicht erwünscht war...

In deiner Anmerkung hast du ja schon das richtige Fazit gezogen... Mit meinem Code muss man allerdings die Änderung mit Enter abschließen...
VideoLord ist offline   Mit Zitat antworten
Ungelesen 07.07.13, 09:21   #6
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Mein Motto: konstruktive Kritik und auch mal ein gutes Späßle muss drin sein... Helfen, wenn man kann oder es versucht, darf ja auch ruhig ein bisschen Spaß machen...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 07.07.13, 15:13   #7
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard

@eitch100: Hab deine Formel angewendet, leider Funktioniert es aber nicht. Vielleicht bin ich auch einfach zu blöde um es anzupassen. Mein Datumsfeld soll A3 sein mein Uhrzeitfeld B3. Eingabefeld ist D3.

Hab deine Formel so Angepasst. Falsch ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Row = 3 And ActiveCell.Column = 1 Then
Range("A3").Value = Date
End If
If ActiveCell.Row = 2 And ActiveCell.Column = 1 Then
Range("B3").Value = Time
End If
End Sub
St4R ist offline   Mit Zitat antworten
Ungelesen 07.07.13, 16:26   #8
VideoLord
Zentrum der Macht
 
Registriert seit: May 2009
Beiträge: 83
Bedankt: 68
VideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt Punkte
Standard

ActiveCell.Row = 3 / bedeutet die dritte Spalte also C
ActiveCell.Column = 1 / bedeutet die erste Zeile also 1
zusammen = C1

Somit kannst du dir einfach den korrekten Eingabeplatz selber zuordnen, für beide deiner Anweisungen, also Zeit und Datum.
VideoLord ist offline   Mit Zitat antworten
Ungelesen 07.07.13, 19:53   #9
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard

Also ich hab das jetzt lange ausprobiert aber irgendwie funzt das nicht. Da kommt Laufzeitfehler und Exel Absturz.
St4R ist offline   Mit Zitat antworten
Ungelesen 08.07.13, 03:21   #10
Erebos76
Ist öfter hier
 
Benutzerbild von Erebos76
 
Registriert seit: Sep 2010
Beiträge: 276
Bedankt: 280
Erebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt Punkte
Standard

Na so ein Mist aber auch. Das Change-Ereignis wird natürlich auch dann ausgelöst, wenn Datum oder Zeit in eine Zelle geschrieben werden. So entsteht hier eine endlose Ereignisauslösung.
Erebos76 ist offline   Mit Zitat antworten
Ungelesen 08.07.13, 09:33   #11
VideoLord
Zentrum der Macht
 
Registriert seit: May 2009
Beiträge: 83
Bedankt: 68
VideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt PunkteVideoLord leckt gerne myGully Deckel in der Kanalisation! | 140907 Respekt Punkte
Standard

Probier mal das hier, ansonsten läuft der eingestellte Code immer in einer Schleife, die Excel zum Absturz bringen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo EndeSub
    Application.EnableEvents = False
    If ActiveCell.Row = 3 And ActiveCell.Column = 4 Then
    Range("B3").Value = Time
    End If
    If ActiveCell.Row = 3 And ActiveCell.Column = 4 Then
    Range("A3").Value = Date
    End If
EndeSub:
  Application.EnableEvents = True
End Sub
Ausgabezellen:
A3 = Datum
B3 = Uhrzeit

Eingabefeld:
D3 = Eingabe
VideoLord ist offline   Mit Zitat antworten
Ungelesen 08.07.13, 11:35   #12
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Zitat:
Zitat von VideoLord Beitrag anzeigen
ActiveCell.Row = 3 / bedeutet die dritte Spalte also C
ActiveCell.Column = 1 / bedeutet die erste Zeile also 1
zusammen = C1
natürlich genau andersrum... aber war wohl ein Versehen...
row=ZEILE=3
column=SPALTE=1
zusammen=A3


Zitat:
Zitat von St4R Beitrag anzeigen
@eitch100: Hab deine Formel angewendet, leider Funktioniert es aber nicht. Vielleicht bin ich auch einfach zu blöde um es anzupassen. Mein Datumsfeld soll A3 sein mein Uhrzeitfeld B3. Eingabefeld ist D3.
Mein obiger Code funktioniert natürlich nur für die in deinem Start-Post gewünschte Einstellungen... (und da gibt auch keinen Laufzeitfehler bzw. Endlosschleife)


Zitat:
Zitat von VideoLord Beitrag anzeigen
Probier mal das hier, ansonsten läuft der eingestellte Code immer in einer Schleife, die Excel zum Absturz bringen.
Jupp... so funzt es... vermutlich gibt es ohne die Fehlerroutine einen Absturz, weil sich der Wert für "Time" während der Laufzeit natürlich ändert und Excel es nicht auf die Reihe bekommt...

Man könnte sich höchstens eine If-Bedingung schenken... und die Fehlerroutine sollte man in die If-Anweisung integrieren, sonst führt er diese bei jedem Change-Ereignis aus...



Edit: Hier noch eine andere Möglichkeit... einfach über Doppelklick auf D3... (natürlich alten Code vorher löschen...)
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 09.07.13, 19:12   #13
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard

Danke euch ! Es Funktioniert. Jetzt habe ich nur das Problem, dass ich die Funktion gerne nach unten Kopiert hätte, da das Dokument nachher 500 Zeilen mit der Jeweiligen Funktion hat. Row ist die Gleiche aber Cell immer 1 höher. Möglich ?
St4R ist offline   Mit Zitat antworten
Ungelesen 09.07.13, 19:36   #14
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

dieser Code gilt für alle in Spalte D ab Zeile 3...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Row >= 3 And ActiveCell.Column = 4 Then
On Error GoTo EndeSub
Application.EnableEvents = False
Cells(ActiveCell.Row, 2).Value = Time
Cells(ActiveCell.Row, 1).Value = Date
EndeSub:
Application.EnableEvents = True
End If
End Sub
Aber die Änderungen immer mit Enter abschließen... wenn du z.B. in D4 eine Zahl eingibst und ohne Enter den Cursor nach unten machst, ändert der Code Zeit und Datum in der falschen (nächsten) Zeile... das macht der alte Code übrigens auch so... also das mit Doppelklick ist auf jeden Fall sicherer...
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Row >= 3 And ActiveCell.Column = 4 Then
Cancel = True
Cells(ActiveCell.Row, 2).Value = Time
Cells(ActiveCell.Row, 1).Value = Date
End If
End Sub
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 09.07.13, 19:50   #15
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard

Wie cool, das Funktioniert !!! Danke vielmals
St4R ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr.


Sitemap

().