Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion

Forumthread: Suchfunktion

Suchfunktion
30.06.2005 21:39:58
Dani
Hallo
Ich hab schon wieder ein Problem. Ich habe da eine Suche gemacht.
Das Wort wird nur in der Spalte F gesucht. Ist es auch möglich eine Suche zu machen, die in Spalte F z.B. einen Namen sucht und in der Spalte H den Ort sucht und nur wenn Beides zustimmt das Resultat in die Zelle schreibt? Danke vielmals.
With Worksheets("Datenimport").Range("F:F")
a = 1
Set c = .Find(kundensuche.txbx_kurzbezeichnung.Value)
If Not c Is Nothing Then
firstaddress = c.Address
Do
a = a + 1
Sheets("Kundensuche").Cells(a, 2) = c
Sheets("Kundensuche").Cells(a, 1) = c.Offset(0, -5)
Sheets("Kundensuche").Cells(a, 3) = c.Offset(0, 5) & " " & c.Offset(0, 4)
Sheets("Kundensuche").Cells(a, 4) = c.Offset(0, 10) & " " & c.Offset(0, 2)
Sheets("Kundensuche").Cells(a, 5) = c.Offset(0, 9)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address firstaddress
End If
If c Is Nothing Then
MsgBox "Nichts gefunden"
End If
End With
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion
01.07.2005 08:51:18
WernerB.
Hallo Dani,
hier mal ein Lösungsversuch (ungetestet).
Allerdings ist mir Deine Do-Loop-Schleife etwas suspekt; ich halte es für sehr unwahrscheinlich, dass diese mehr als einen Durchlauf macht.
Es sieht so aus, als ob Du eine wiederholte Suche durchführen willst (?), aber m.E. (ohne es jedoch getestet zu haben) kann das so nicht funktionieren.
Aber vielleicht irre ich mich da?
With Worksheets("Datenimport").Range("F:F")
a = 1
Ort = "El Arenal"
Set c = .Find(kundensuche.txbx_kurzbezeichnung.Value)
If Not c Is Nothing Then
firstaddress = c.Address
If c.Offset(0, 2).Text = Ort Then
Do
a = a + 1
Sheets("Kundensuche").Cells(a, 2) = c
Sheets("Kundensuche").Cells(a, 1) = c.Offset(0, -5)
Sheets("Kundensuche").Cells(a, 3) = c.Offset(0, 5) & " " & c.Offset(0, 4)
Sheets("Kundensuche").Cells(a, 4) = c.Offset(0, 10) & " " & c.Offset(0, 2)
Sheets("Kundensuche").Cells(a, 5) = c.Offset(0, 9)
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address firstaddress
Else
MsgBox "Ort nicht gefunden !"
End If
Else
MsgBox "Nichts gefunden !"
End If
End With
Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Suchfunktion
01.07.2005 11:42:59
Dani
Hallo WernerB.
Das funktioniert super, danke. Jetzt hab ich aber noch eine Frage. Kann man den Text beim Ort in der Suche auch abkürzen z.B. mit *. Es gibt einen Ort Namens Hergiswil in der Liste ist dieser Ort aber mit Hergiswil NW eingetragen. Und wenn ich nur nach Hergiswil suche wird nie was gefunden.
Gruss Dani
Anzeige
AW: Suchfunktion
01.07.2005 12:02:30
WernerB.
Hallo Dani,
versuche es mal so:
Ersetze diese Zeile
If c.Offset(0, 2).Text = Ort Then
durch diese Zeile:
If instr(c.Offset(0, 2).Text, Ort) &gt 0 Then
Gruß
WernerB.
AW: Suchfunktion
01.07.2005 14:47:12
Dani
Geht so leider nicht...
AW: Suchfunktion
02.07.2005 16:54:11
WernerB.
Hallo Dani,
und geht es so?
If InStr(Ort, c.Offset(0, 2).Text) &gt 0 Then
Gruß
WernerB.
Anzeige
AW: Suchfunktion
03.07.2005 20:34:30
Dani
Hallo
Jetzt funktionierts! Und zwar mit:
If instr(c.Offset(0, 2).Text, Ort) &gt 0 Then
diese Zeile musse nur nach "Do" stehen.
Danke.
Gruss Dani
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige