Anzeige
Archiv - Navigation
1260to1264
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

suchen mit .find

suchen mit .find
detlef
Hallo Profi´s
In Spalte 1 auf Sheets(1) stehen Datumsangaben; die Spalte ist jedoch auch als "Datum" formatiert also nicht als Text oder Standard
ein Zellinhalt ist z.Bsp. der 12.12.2011
auf meiner Userform habe ich eine Textbox eine Listbox und ein Commandbutton
in die Textbox gebe ich jetzt als Suchwert "12." oder ".12." ein; mit meinem Ansatz hier habe ich keinen Treffer (bei Spaltenformatierung auf Text funktionierts, die Spalte muss aber Datum bleiben
Wie geht´s richtig?
Private Sub CommandButton1_Click()
Set wbs = ThisWorkbook.Sheets(1)
s_txt = UserForm1.TextBox1
Set txt = wbs.Columns(1).Find(s_txt, , , xlPart)
If Not txt Is Nothing Then
UserForm1.ListBox1.AddItem txt.Row
End If
End Sub

Gruß detlef

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: suchen mit .find
14.05.2012 20:33:45
Hajo_Zi
Hallo Detlef,
cdate(s_txt)

AW: suchen mit .find
14.05.2012 20:58:38
detlef
Hallo Hajo
Danke für die fixe Antwort aber dabei kommt Fehlermeldung "Typen unverträglich
AW: suchen mit .find
14.05.2012 20:59:55
Hajo_Zi
dann ist kein Datum auf s_txt.
Gruß Hajo
AW: suchen mit .find
14.05.2012 21:04:08
detlef
Na in der Textbox auf das sich s_txt bezieht steht ja nur das Fragment ".12." ist also kein Datum, aber in der Zelle in Spalte 1 steht das Datum; mit der Excel-Suchoption im Tabellenblatt finden Excel das auch mit dem Fragment
AW: suchen mit .find
14.05.2012 21:35:04
detlef
Sorry hab wohl Haken bei Frage noch offen vergessen
Anzeige
AW: suchen mit .find
14.05.2012 23:19:35
fcs
Hallo Detlef,
Datumsangaben (Deutsches Format) und Suchen unter VBA sind leider nicht so ganz einfach unter einen Hut zu bringen.
Da du hier nach einem Teiltext des Datums suchen willst ist es wohl am einfachsten, wenn du hier in einer For-Next-Schleife den Text der Zellen mit dem Text in der Text-Box vergleichst. Dann ist die Suche zwar etwas langsamer, aber es funktioniert.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim s_txt As String, wbs As Worksheet
Dim Zelle As Range
Set wbs = ThisWorkbook.Sheets(1)
s_txt = UserForm1.TextBox1
With wbs
For Each Zelle In .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
If InStr(1, Zelle.Text, s_txt) > 0 Then
UserForm1.ListBox1.AddItem Zelle.Row
'        Exit For
End If
Next
End With
End Sub

Anzeige
AW: suchen mit .find
15.05.2012 20:45:23
detlef
Hallo Franz;
Sorry für die späte Antwort bin aber jetzt erst wieder an meinem Rechner
Schade - aber Dein Tip funktioniert ( nutze ich im Moment auch ) aber wenn die Inhalte größer werden ist das ein blödes Zeitverhalten; Excel macht das doch auch irgendwie (aber wie?)
AW: suchen mit .find
16.05.2012 09:07:14
guentherh
Hallo detlef,
hier weiß Excel selbst nicht wie es das macht!
will heißen: über die Frontendbedienung klappts, zeichne ich das auf und lasse das aufgezeichnete Makro nochmal ablaufen, so findet das Makro nichts und meldet einen Fehler.
Du wirst wahrscheinlich mit der Lösung von Franz leben müssen
sorry for bad news
Günther
Anzeige
AW: suchen mit .find
16.05.2012 10:08:10
fcs
Hallo Detlef,
das Problem ist, dass Datum/Zeiten excelintern als Dezimalzahlen gespeichert werden und an der Benutzeroberfläche im Datumsformat angezeigt werden.
Leider hat Microsoft es nicht geschafft die für die Benutzeroberfläche vorhandenen Suchalgorythmen mit User/Systemeinstellungen auch unter VBA anzuwenden.
VBA ist hier ziemlich US-orientiert. Ich hatte verschiedene Einstellungen für Find-Parameter in der Userform probiert. Manche Zahlenwerte wurden gefunden, aber sobald "." mit als Suchtext eingegeben wurde war das Suchergbnis kein Eintrag.
Ein Ausweg, die Find-Methode zu nutzen, wäre eine Hilfsspalte in der das Datum aus Spalte A als Text enthalten ist.
Diese Hilfsspalte könnte man per Formel mit Funktion TEXT füllen oder beim Öffnen des Userforms in der Initialisierungs-Prozedur des UF.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige