Zeitstempel im VBA ?
#1
Hallo zusammen,

 In diesem Zeitstempel in der Formelösung :

[Excel] Zeitstempel / Datumsstempel per Formel

ausprobiert habe ich. Die Spalte D muss frei sein. In Spalte E setzt ich die Formel ein. Kapiert habe ich das nicht, aber es funktioniert.

Wie sieht eine VBA Lösung Zeitstempel  im Modul1 aus?

Viele Grüße 

ultrabest


Angehängte Dateien
.xlsm   TestA.xlsm (Größe: 22,79 KB / Downloads: 9)
Antworten Top
#2
Moin,

kannst du deine Frage etwas präzisieren? Was willst du erreichen?
Das aktuelle Datum und die Uhrzeit erhältst du mit der Now()-Funktion. In Zellen schreibst du, in dem du der .Value-Eigenschaft eines Range-Objektes etwas zuweist:
Code:
Range("A1").Value = "Hier ein Beispieltext"
Cells(2,1).Value = 20
Selection.Value = RueckgabeEinerFunktion()

Insgesamt ist das ein so grundlegendes Vorgehen, das wahrscheinlich in jedem VBA-Kurs innerhalb der ersten halben Stunde geklärt ist.

Viele Grüße
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • ultrabest
Antworten Top
#3
Hallo

so?

Code:
Sub Datei_kopieren()

    ' zwischen 2 offenen Arbeitsmappen
    
    Dim rng As Range, rng2 As Range
    
    'Range der Quelldatei definieren
    Set rng = Workbooks("TestB.xlsm").Worksheets(3).UsedRange 'Daten von Tabelle1 werden angesprochen
    'Daten ohne Header kopieren und einfügen
    'Daten von Tabelle1 werden kopiert nach Zieldatei Tabelle3!
   
    Set rng2 = ThisWorkbook.Worksheets(3).Range("A" & ThisWorkbook.Worksheets(3).Rows.Count).End(xlUp).Offset(1)
    Intersect(rng, rng.Offset(1)).Copy rng2
    rng2.Offset(0, 3).Resize(rng.Rows.Count - 1, 1) = Now
    
End Sub

LG UweD
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • ultrabest
Antworten Top
#4
Hallo zusammen. 

Sorry, dass ich mich jetzt melde. 

Genauer Ablauf :

Mit der Datei TestA kopiere ich die Daten von TestB.

1. Schritt Übertragung von Datei TestB nach Datei TestA >> Tabelle1 //  Funktioniert.

2.Schritt Übertragung von Datei TestB nach Datei TestA >> Tabelle 3 // Funktioniert.  

Mein Anliegen: 

Diesen Code habe ich gefunden und in Tabellenblatt 3 eingefügt, 

leider gibt er keinen Zeitstempel aus, wenn ich Daten aus Datei TestB  in Datei TestA // Tabelle 3 kopiere.  



Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or _
    Target.Count > 1 Then Exit Sub
   
Cells(Target.Row, "J") = Date

End Sub

Das Datum sollte man in Tabelle 3 / Zelle "J1" festlegen, bevor die Daten übertragen werden: (Noch nicht angelegt)

PS : Den Code von Uwe habe ich noch nicht ausprobiert.

Viele Grüße 
ultrabest
Antworten Top
#5
Moin,

Geh den Code gedanklich durch und Versuche dir jede Codezeile selbst zu erklären, dann kommst du schnell auf die Lösung.

Viele Grüße 
derHoepp
Antworten Top
#6
Hallo Uwe.

Der o.g. Code funktioniert nur wenn direkt in Zelle A2, A3 usw. etwas reingeschrieben wird, dann kommt der Zeitstempel.

Wenn man was einfügt, funktioniert nicht.  Da muss etwas im Code geändert werden, damit das "Einfügen" eine Aktion auslöst.

Mittlerweile habe ich habe ich einen neuen Code gefunden, der das genau macht.

Wenn in Zelle A2, A3 usw. etwas eingefügt wird, dann wird der Zeitstempel in Zelle J2, J3 usw. angezeigt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Set Target = Intersect(Target, Range("A:A"))
  If Target Is Nothing Then Exit Sub
  Target.Offset(0, 9).Value = Date
End Sub


Viele Grüße
ultrabest
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste