Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Datum richtig einfügen
17.01.2017 19:52:44
fatlemming
Moin moin,
Mein Name ist Heiko und ich baue mir grad ein Trading Journal was mir alle Trades nach Datum sortiert.
Das funktioniert mit der Suche nach der ersten leeren Zeile
Dim intErsteLeereZeile As Long
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das Formular frmTrade
"Rows.Count, 2" ist die Reihe B da in A(1)
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
Jetzt hab ich einen Trade ausversehen nicht eingetragen der zwischen
09.01.2017 12:29 und
09.01.2017 16:17 liegt (z.B. 09.01.2017 15:00)
Me.txtOpenTime.Value = CDate(Format(Now, "dd.mm.yy hh:mm"))
Wie bekomme ich das zwischen den Daten?
Meine Idee pseudocode:
wenn txtOpenTime.Value > als der Wert in Tabelle1!A1:A200 && Then
Zeile einfügen und Werte einfügen
else
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
Dann müste ich doch genau zwischen 09.01.2017 12:29 und 09.01.2017 16:17 die Daten einfügen können?
Wie kann ich das realisieren?
txtOpenTime
06.01.2017 14:41
06.01.2017 14:47
06.01.2017 14:59
09.01.2017 12:29
09.01.2017 16:17
09.01.2017 16:17
10.01.2017 15:27
Danke für Deine Zeit
fatlemming

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Datum richtig einfügen
18.01.2017 01:09:04
fcs
Hallo Heike,
du musst die Werte in einer vergleichen beginnend vom letzten Wert.
Kann dann etwa wie folgt aussehen (ungetestet).
LG
Franz
Sub Test()
Dim intErsteLeereZeile As Long
Dim datOpentime As Date
'Fügt die eingetragenen Werte ins Tabellenblatt und schließt das Formular frmTrade
'"Rows.Count, 2" ist die Reihe B da in A(1)
intErsteLeereZeile = ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row + 1
If IsDate(Me.txtOpenTime.Value) Then
datOpentime = CDate(Me.txtOpenTime.Value)
'Prüfen, ob Datum/Zeit in Spalte A kleiner letzter Eingabewert
If intErsteLeereZeile > 2 And _
datOpentime  Cells(intErsteLeereZeile - 1, 1).Value Then
ActiveSheet.Rows(intErsteLeereZeile).Insert shift:=xlShiftDown
Exit Do
End If
Loop
End If
Cells(intErsteLeereZeile, 1) = datOpentime
'... hier weitere Werte eintragen
Else
MsgBox "Die Zeit des Trades ist nicht in Textbox eingetragen oder" _
& " ein unügltiger Wert", _
vbOKOnly, "Prüfung Datum/Zeit-Eingabe"
End If
End Sub

Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige