Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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

.find nach Datum und verbundenen Zellen

.find nach Datum und verbundenen Zellen
12.05.2021 08:04:24
Mike
Hallo zusammen,
ich habe ein Tabellenblatt auf dem sich neben Standard formatierten Zellen auch Datumsformatierte Zellen befinden.
Zu jedem Datum (zB 12.05.2021) sind Einträge vorhanden die ich auslesen möchte. Ich hole mir also das aktuelle Datum in einen String

Datum As Date
c As Object
srtZelle As String

Datum = Format((Now), "dd.mm.yyyy")
und möchte mit .find auf dem gesamten Arbeitsblatt nach der entsprechenden Zelle suchen.

Set c = wsQuelle.UsedRange.Find(strDatum, LookIn:=xlValues, Lookat:=xlPart)
If Not c Is Nothing Then
strZelle = c.Adresse
End If
Die Suche findet aber nichts und strZelle bleibt immer leer.
Ich habe dann ein wenig gesucht und der Grund dafür liegt ja offensichtlich in der Formatierung als Datum da ich jeden anderen Inhalt über die Suche problemlos finden kann.
Daraufhin habe ich probiert den String Datum nicht als String sondern als Datum zu deklarieren was aber auch nicht zum Erfolg geführt hat.
Das Datum welches gefunden werden soll steht immer in einem Range aus verbundenen Zellen . Soweit ich das verstanden habe scheinen verbundenen Zellen aber grundsätzlich kein Problem zu sein solange der Suchbereich auch als Range angegeben wird. Zumindest wird auch nichts gefunden wenn ich das Datum nur in eine Zelle schreibe.
Ich hab da mittlerweile soviel rumprobiert das ich wahrscheinlich mal wieder den Wald vor lauter Bäumen nicht mehr sehe.
Kann mir da bitte jemand weiterhelfen und Licht ins Dunkle bringen.
Gruß
Mike

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .find nach Datum und verbundenen Zellen
12.05.2021 08:28:58
Daniel
Hi
1. das .Find berücksichtigt das Zahlenformat der Zellen
2. Excel und VBA reden oft amerikanisch miteinander. Dh. auch in einem deutschen Excel muss man die Angaben im Amerikanischen Format machen.
Wenn du ein Datum suchst, dass im deutschen Excel "normal" angegeben ist (Zahl mit dem Format TT.MM.JJJJ) , dann muss der Suchstring so aussehen: what:="05/12/2021"
Also ein Text mit Slash als Trennzeichen und Monat vor Tag.
Gruß Daniel
AW: .find nach Datum und verbundenen Zellen
12.05.2021 08:30:13
Hajo_Zi
Hallo Mike,
Du suchst nach Text und Deiun Datum im Suchbereich ist eine Zahl.
Warum Format? Warum nicht Date? Warum Variable?
GrußformelHomepage
Anzeige
AW: .find nach Datum und verbundenen Zellen
12.05.2021 09:10:11
GerdL
Moin,
VBA spricht nicht nur beim Suchbegriff der Find-Methode amerikanisch. Probier mal.

Sub Unit()
Dim strDatum As String, c As Range, strZelle As String
strDatum = "12.05.2021"
Set c = ActiveSheet.UsedRange.Find(CDate(strDatum), LookIn:=xlValues, Lookat:=xlWhole)
If Not c Is Nothing Then
strZelle = c.Address
MsgBox strZelle
Else
MsgBox "Nix"
End If
End Sub
Gruß Gerd
AW: .find nach Datum und verbundenen Zellen
12.05.2021 12:30:49
Mike
Hallo zusammen,
also erstmal Danke allen Helfern. @Hajo_Zi du hast mit Date natürlich recht.
Ich habe nun das eigentliche Problem gefunden aber die Lösung dazu fehlt mir dennoch.
Der nachfolgende Code funktioniert soweit ......

Sub TEST()
Dim Datum As Date
Dim strJahr As String
Dim c As Object
Dim strZelle As String
Datum = Date
strJahr = Format((Now), "yyyy")
Set c = ThisWorkbook.Sheets(strJahr).UsedRange.Find(Datum, LookIn:=xlValues, Lookat:=xlWhole)
If Not c Is Nothing Then
strZelle = c.Address
Debug.Print strZelle
End If
End Sub
.... aber
Das funktioniert nur wenn ich die verbundenen Zellen in denen das Datum steht auflöse und die Zellgröße anpasse. Kann es sein das es tatsächlich mit .find in Verbindung mit Datumsformat und verbundenen Zellen ein Problem gibt? Normaler Text in verbundener Zelle klappt ja.
Ich stoße aber nun noch auf ein zweites Problem das ich nur durch Zufall gefunden habe.
Bei meinen Versuchen hatte ich ja die Zellen aufgelöst und das Makro hat dennoch nicht funktioniert weswegen ich mich immer weiter in abstrakte Lösungen verstrickt hatte. Das liegt offensichtlich daran, das bei nicht ausreichendem Platz in der Zelle der Inhalt mit #### dargestellt wird. Wenn ich die Zellgröße anpasse dann funktioniert das Makro. Ich dachte immer die #### wären nur optisch und der eigentliche Zellinhalt bliebe dennoch unverändert erhalten. Denn wenn ich die Zelle markiere dann wird mir der Inhalt ja korrekt angezeigt somit ist der Wert ja auch vorhanden.
Nun wäre es mir natürlich am liebsten wenn ich das Datum auch in verbundenen Zellen finden könnte ohne die Formatierung des kompletten Tabellenblattes ändern zu müssen. Liegt es ggf. an den von mir verwendeten Parametern in .find? Ich wüsste nicht was man da noch setzen müsste.
Gruß
Mike
Anzeige
AW: .find nach Datum und verbundenen Zellen
12.05.2021 12:40:21
GerdL
Hallo
xlValues sucht im Text; xlFormulas im Wert, natürlich nur bei Zellen ohne Formel.
Gruß Gerd
AW: .find nach Datum und verbundenen Zellen
12.05.2021 13:00:39
Mike
Hallo GerdL,
besten Dank. Das war die Lösung.
Gruß
Mike

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige