Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

Datum .Find mit DatumFormat

Datum .Find mit DatumFormat
07.04.2021 10:53:16
Jannes
Hallo zusammen,
ich hoffe, dass Du Ostern gut überstanden hast!
Ich habe ein Problem mit meinem Code für ein Zeiterfassungstool. Das Tool nimmt Arbeitszeiten und Pausenzeiten in einer UserForm auf und soll diese eingelesen Daten neben dem richtigen Datum auf dem richtigen Sheet platzieren. Für Datumswerte, die ausgeschrieben sind und die Zelle das Format Text hat, wird das Datum in der Spalte gefunden, jedoch möchte ich das Datum mit dem Format Datum und verhüllt in einer Formel mit der Funktion suchen, wo S das eingelesene Datum im Format DD/MM/YYY ist, aber so findet Excel das Datum nicht.
Set ZELLE = bereich.Find(what:=S, lookat:=xlWhole, LookIn:=xlFormulas)
Ich habe es auch mit xlValues probiert, da ich schon einige Foren gelesen habe, aber nichts so richtig funktioniert hat. Hat jemand eine Idee was ich ändern muss, damit ich die DatumsZelle finden kann, wenn diese im Format Datum in einer Formel steckt?!
Vielen Dank.
Hier der Code:

Private Sub CommandButton_Click()
Dim S As String
Dim KOMMEN As String
Dim GEHEN As String
Dim MONAT As String
Dim PAUSE1A As String
Dim PAUSE1E As String
Dim PAUSE2A As String
Dim PAUSE2E As String
Dim bereich As Range
Dim ZELLE As Range
S = Zeiterfassung.TextBox3.Value
S = Format(S, "dd/mm/yyyy")
KOMMEN = Zeiterfassung.TextBox10.Value
GEHEN = Zeiterfassung.TextBox5.Value
PAUSE1A = Format(PAUSE1A, "hh:mm")
PAUSE1E = Format(PAUSE1E, "hh:mm")
PAUSE2A = Format(PAUSE2A, "hh:mm")
PAUSE2E = Format(PAUSE2E, "hh:mm")
PAUSE1 = Format(PAUSE1, "hh:mm")
PAUSE2 = Format(PAUSE2, "hh:mm")
KOMMEN = Format(KOMMEN, "hh:mm")
GEHEN = Format(GEHEN, "hh:mm")
MONAT = Zeiterfassung.ComboBox1.Value
PAUSE1A = Zeiterfassung.TextBox11.Value
PAUSE1E = Zeiterfassung.TextBox12.Value
PAUSE2A = Zeiterfassung.TextBox7.Value
PAUSE2E = Zeiterfassung.TextBox6.Value
Set bereich = Sheets(MONAT).Range("A1:A100")
Set ZELLE = bereich.Find(what:=S, lookat:=xlWhole, LookIn:=xlFormulas)
If ZELLE Is Nothing Then
MsgBox "Bitte Datum korrekt eingeben"
Else
Application.Goto ZELLE
ZELLE.Offset(0, 1).Value = TextBox10.Text
ZELLE.Offset(0, 2).Value = TextBox5.Text
ZELLE.Offset(0, 4).Value = TextBox11.Text
ZELLE.Offset(0, 5).Value = TextBox12.Text
ZELLE.Offset(0, 6).Value = TextBox7.Text
ZELLE.Offset(0, 7).Value = TextBox6.Text
End If
Unload Zeiterfassung
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum .Find mit DatumFormat
07.04.2021 11:08:55
Rudi
Hallo,
versuchs mal mit
Set ZELLE = bereich.Find(what:=CDate(S), lookat:=xlWhole, LookIn:=xlFormulas)
oder
Set ZELLE = bereich.Find(what:=CDate(S)*1, lookat:=xlWhole, LookIn:=xlFormulas)
Gruß
Rudi
AW: Datum .Find mit DatumFormat
07.04.2021 11:24:35
Daniel
Hi
.Find mit Datum ist kompliziert.
Wenn du in der Exceltabelle die Datumswerte im Standard-Datumsformat formatiert hast, muss dee Suchstring dem amerikanischen "MM/DD/YYYY" entsprechen, mit dem Slash als Trennzeichen.
Gruß Daniel
und was ist mit dem Match()?
07.04.2021 12:37:29
ralf_b
antwortest du mir im VBA forum noch ?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige