Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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
Tabelle auf Datum und Uhrzeit durchsuchen
09.03.2015 13:03:15
Stefan
Hallo zusammen,
ich bin neu hier und bräcuhte eure Hilfe für folgendes Problem.
ich möchte über ein UserForm eine Tabelle füllen. Das klappt auch soweit.
Bei jedem Neueintrag soll in Spalte A das aktuelle Datum und in Spalte B die aktuelle Uhrzeit des Eintrags geschrieben werden. Die Daten werden in der regel morgens und abends in die Tabelle geschrieben.
Auch diese klappt soweit.
Dafür benutze ich folgende Code:
If OB1.Value = True Then
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = CDate(Date)
ActiveCell.Offset(0, 1).Value = CDate(Time)
ActiveCell.Offset(0, 2).Value = .TextBox2.Value
ActiveCell.Offset(0, 3).Value = .ComboBox1.Value
If .CheckBox1.Value = True Then
ActiveCell.Offset(0, 4).Value = "ja"
Else
If UF1.TextBox2.BackColor = vbRed Then
ActiveCell.Offset(0, 4) = "ja"
Else
ActiveCell.Offset(0, 4).Value = "nein"
End If
End If
End If
Würde in der Tabelle so aussehen
03.03.2015 07:00 ... ... ...
04.03.2015 07:00 ... ... ...
05.03.2015 19:00 ... ... ...
06.03.2015 07:00 ... ... ...
06.03.2015 19:00 ... ... ...
Ich möchte auch wieder über ein UserForm nach den Einträgen suchen und diese mir im UserForm anzeigen lassen.
Nun zu meinem Problem:
Nur nach dem Datum zu suchen ist kein Problem, das bekomme ich mit folgendem Code hin:
Sheets("Tabellenblatt1").Select
Range("A:A").Select
If Selection.Find(What:=.TextBox1.Value, after:=ActiveCell, Lookat:=xlPart, SearchDirection:=xlNext, MatchCase:=False).Activate Then
.TextBox2.Value = ActiveCell.Offset(0, 2).Value
.TextBox4.Value = ActiveCell.Offset(0, 3).Value
Else
fehler1:
MsgBox "Der eingegebene Wert " & .TextBox1.Value & " konnte nicht gefunden werden! Bitte das Datum überprüfen und im Format tt.mm.jjjj eintragen!"
End If
Mein Hauptproblem besteht darin, dass wenn ich nach folgendem suche z.B. 06.03.2015 05:oo Uhr mir die Daten vom 06.03.2015 anzeigt, die aber erst um 7 morgens in die Tabelle geschrieben wurden. In diesem Fall bräuchte ich die des letzten Eintrags vom 05.03.2015. 19:00 bzw. wenn ich nach 06.03.2015 09:00 Uhr suche die Daten vom Eintrag 06.03.2015 07:00 und wenn ich nach Daten suche 06.03.2015 19:30 die vom 06.03.2015 19:00...
Habs es mit folgendem Code ausprobiert, der stellenweise auch funktioniert:
If OB1.Value = True Then
On Error GoTo fehler
Range("A:A").Select
If Selection.Find(What:=wert, after:=ActiveCell, Lookat:=xlPart, SearchDirection:=xlNext, MatchCase:=False).Activate Then
checkTime
Else
fehler:
MsgBox "Der eingegebene Wert " & .TextBox1.Value & " konnte nicht gefunden werden! Bitte das Datum überprüfen und im Format tt.mm.jjjj eintragen!"
End If
End If

Private Sub checkTime()
Dim ka As Date 'such datum
Dim ka1 As Date 'datum dienstbeginn  vortag
Dim ka2 As Date 'datum dienstbeginn abends
Dim TickTack As Date 'Uhrzeit dienstbeginn
Dim TickTack1 As Date 'such Uhrzeit
Dim TickTack2 As Date 'Uhrzeit dienstbeginn abens
Dim TickTack3 As Date 'Uhrzeit dienstbeginn vortag
TickTack1 = CDate(UF4.TextBox6.Value)
TickTack = ActiveCell.Offset(0, 1).Value
TickTack2 = ActiveCell.Offset(1, 1).Value
TickTack3 = ActiveCell.Offset(-1, 1).Value
ka = ActiveCell.Value
ka1 = ActiveCell.Offset(-1, 0).Value
ka2 = ActiveCell.Offset(1, 0).Value
If TickTack1 > TickTack And TickTack1 

Hoffe ich habe es nicht zu kompliziert geschrieben und ihr könnt mir bei meinem Problem helfen. Für eure Bemühung bedanke ich mich schon einmal im Voraus...
Besten Grüße
Stefan

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle auf Datum und Uhrzeit durchsuchen
13.03.2015 14:40:47
Michael
Hallo Stefan,
es ist mühsam, eine funktionsfähige Tabelle aus Deinen Angaben zusammenzusetzen: mit einer hochgeladenen Tabelle ginge es besser. Außerdem würde man sehen, was wie gespeichert wurde.
1. "z.B. 06.03.2015 05:oo Uhr" dürfte nichts treffen, weil "Ohs" statt Nullen drinstehen
2. man könnte Lookat:=xlPart durch Lookat:=xlWhole ersetzen, dann werden immer exakte Begriffe gefunden.
3. ohne Datei mag ich jetzt nicht ausprobieren, was Excel bei der Suche nach Datum/Zeit fabriziert, derweil die intern ja als Zahlenwert gespeichert werden.
So schön Formulare mit Eingabefeldern sind, ich würde mir überlegen, ob sie in diesem Fall wirklich funktionell und nötig sind. So wie sich mir das Problem (insgesamt) darstellt, bist Du mit einer schlichten Liste und gesetztem Autofilter genau da, wo Du hinwillst.
Ich hab dann doch schnell (ha,ha, diese ?n$**$%!) ne Prinziplösung programmiert, mit zwei Spalten für Datum und Zeit, wobei ich FIND nur auf das Datum anwende und mich dann händisch weiter durch die Zeiten hangle.
https://www.herber.de/bbs/user/96349.xls
Es tut so weit, allerdings ist die while-Schleife suboptimal, aber ich muß Dir ja nicht alles vorkauen.
Schöne Grüße,
Michael
Anzeige

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige