Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
184to188
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
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen in Zelle mit Formel?

Suchen in Zelle mit Formel?
22.11.2002 07:19:38
Oliver S
Moin @all,

ich habe eine Exceltabelle, die nur Daten aus einer anderen Exceltabelle anzeigt. Nun möchte ich in dieser Tabelle nach Strassennamen suchen. Allerdings werden beim Suchen keine übereinstimmenden Daten gefunden. Ist ja auch eigentlich klar, da in den Zellen immer nur die Formel mit dem Verweis auf die andere Tabelle steht. Wie kann ich nun doch nach meinen Strassennamen, der durch die Formel ausgegeben wird, suchen?

Danke schon mal an alle Helferlein,
Oliver S.

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Suchen in Zelle mit Formel?
22.11.2002 07:34:35
PeterW
Hallo Oliver,

ob es per Formel geht kann ich nicht sagen, auf jeden Fall geht es mit VBA:

Gruß
Peter

Re: Super, aber .....
22.11.2002 07:48:58
Oliver S
Moin Peter,

Danke Dir für die schnelle Antwort. Das suchen sollte auch nicht über eine Formel erfolgen. Somit ist Dein Vorschlag genau richtig und funktioniert auch bei mir. Allerdings wäre es schön, wenn nicht der ganze Suchbegriff eingegeben werden müsste, sondern nur die ersten drei oder vier Buchstaben. Wenn der Name nicht richtig eingegeben wird, wird auch kein Suchbegriff gefunden. Um das zu Umgehen, würde es eben reichen nur die Anfangsbuchstaben einzugeben.

Beispiel:

Suchbegriff = Musterstrasse

Eingabe Suchbegriff = Must

Vielleicht kannst Du mir ja dazu noch einen kleinen Hinweis hier reinschreiben.

Danke noch mal,
Oliver S

Anzeige
Re: Suchen in Zelle mit Formel?
22.11.2002 08:04:16
Steffen D
Hallo Oliver,

hiermit müsste es gehen:


Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff, 3 Anfangsbuchstaben", "Suche")
For Each rngC In Range("A1:A1000") ' Bereich anpassen!!!!
If Left(rngC, 3) = strSuche Then
rngC.Activate
Exit Sub
End If
Next
MsgBox ("Nicht gefunden")
End Sub


Gruss
Steffen D

Re: Super, aber .....
22.11.2002 08:23:25
PeterW
Hallo Oliver,

viele Wege führen Nach Rom, einen Vorschlag hast Du schon bekommen. Ist die Tabelle mit den Straßen in der gleichen Mappe könntest Du es mit einer Combobox lösen. Gib der Spalte mit den Straßen einen Namen, bei den Eigenschaften der Combobox gibst Du unter ListFillRange den Namen ein, als LinkedCell legst Du die Zelle fest, über der die Combobox steht. Bei der Eingabe wird sofort vervollständigt.

Gruß
Peter

Anzeige
Re: Nochmal super, dennoch eine Frage!
22.11.2002 08:33:21
Oliver S
Hi Steffen,

Dein Vorschlag kommt schon nahe an das was ich möchte heran. Allerdings ist nun das Problem, wenn der Suchbegriff komplett eingegeben wird, keine Übereinstimmung gefunden wird. Es soll aber sowohl nach Eingabe von mindestens drei Buchstaben als auch des gesamten Strassennamen gesucht werden.

Da gibt es doch bestimmt auch noch eine Lösung?

Trotzdem Danke,
Oliver

Re: Nochmal super, dennoch eine Frage!
22.11.2002 08:36:11
Steffen D
Hi,

probier es mal hiermit:

Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
For Each rngC In Range("A1:A1000") ' Bereich anpassen!!!!
If Left(rngC, 3) = strSuche Or rngC = strSuche Then
rngC.Activate
Exit Sub
End If
Next
MsgBox ("Nicht gefunden")
End Sub



Anzeige
Re: Super, aber .....
22.11.2002 08:38:22
Oliver S
Danke Peter für Deinen neuerlichen Vorschlag. Leider liegen die Daten in einer anderen Arbeitsmappe. Somit kann ich leider mit Deinem Vorschlag nicht arbeiten.
Der Vorschlag von Steffen funktioniert soweit ganz gut. Bis auf die Einschränkung, das ich nun nicht mehr den ganzen Suchbegriff eingeben kann. Habe das aber in der Antwort auf Steffens Antwort noch mal gepostet.

Danke noch mal für Deine Hilfe,
Oliver S

Re: Ganz nahe dran, aber noch nicht ganz!
22.11.2002 08:47:32
Oliver S
Danke Steffen,

langsam kommen wir der Sache näher. Jetzt funktionierts mit drei Buchstaben oder dem gesamten Suchbegriff.
Ich will ja nicht unverschämt sein, aber gibt es eventuell auch eine Lösung, das mindestens drei Buchstaben eingegeben werden müssen. Was ich damit meine ist, es müssen mindestens drei Buchstaben eingegeben werden. Es können aber auch mehr als drei Buchstaben eingegeben werden. Also 4,5,6,7 oder der gesamte Suchbegriff.
Bei Deinem Makro kann ich nun drei Buchstaben oder den gesamten Text eingeben und der Suchbegriff wird auch gefunden. Gebe ich allerdings vier oder mehr Buchstaben ein, wird keine Übereinstimmung gefunden.

Ich möchte dem Benutzer eben die Möglichkeit geben, daß ab drei Buchstaben bis hin zum gesamten Suchbegriff eine Eingabe erfolgen kann.

Ich hoffe, Du kannst mir noch einmal dabei helfen,
Oliver

Anzeige
Re: Ganz nahe dran, aber noch nicht ganz!
22.11.2002 08:52:22
Oliver S
Noch etwas, der Suchbegriff sollte gefunden werden, egal ob er in Großbuchstaben eingegeben wird oder klein geschrieben wird.
Im Moment wird er nur gefunden, wenn der erste Buchstabe groß geschrieben wird.

MfG
Oliver S.

Re: Ganz nahe dran, aber noch nicht ganz!
22.11.2002 08:53:47
Steffen D
Aber jetzt muss es klappen,
Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
If Len(strSuche) < 3 Then
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
End If
For Each rngC In Range("A1:A1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If Left(rngC, i) = strSuche Then
rngC.Activate
Exit Sub
End If
Next i
Next
MsgBox ("Nicht gefunden")
End Sub


Gruss
Steffen

Anzeige
So ist es eleganter
22.11.2002 08:55:03
Steffen D
Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
Do While Len(strSuche) < 3
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
Loop
For Each rngC In Range("A1:A1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If Left(rngC, i) = strSuche Then
rngC.Activate
Exit Sub
End If
Next i
Next
MsgBox ("Nicht gefunden")
End Sub

Gross/ Kleinschreibung?
22.11.2002 09:14:36
Oliver S
Auf die Gefahr hin, dass ich nerve, gibt es noch ein kleines Problem. Wie schon geschrieben, muß bei dem Makro darauf geachtet werden, dass der erste Buchstabe gross geschrieben werden muß. Schöner wäre es, die Gross/ Kleinschreibung wäre egal. Geht das auch noch?

Und, wenn ich auf Abrechen in der Inputbox klicke, verschwindet die Box nicht, sondern ich muß mindestens drei Buchstaben eingeben (können auch drei Leerzeichen sein), damit das Makro ablaufen kann, die Box verschwindet und ich dann den Hinweis "Kein Suchbegriff gefunden" bekomme. Geht das noch irgendwie zu ändern? Also das ich die Suchfunktion ohne Eingabe beenden kann.

Ich hoffe, Di bist so gut und hilfst mir nochmal,
Oliver

Anzeige
Re: Gross/ Kleinschreibung?
22.11.2002 09:31:06
Steffen D
Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
Do While Len(strSuche) < 3
If strSuche = "" Or Len(strSuche) = 0 Then Exit Sub
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
Loop
For Each rngC In Range("A1:A1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If Left(rngC, i) = Application.WorksheetFunction.Proper(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = LCase(strSuche) Then
rngC.Activate
Exit Sub
End If

Next i
Next
MsgBox ("Nicht gefunden")
End Sub


Müsste gehen, habe gerade getestet.
Wenn du noch fragen hast schreib einfach

Gruss Steffen

Anzeige
Jawohl, das wars!!!
22.11.2002 10:05:50
Oliver S
Jetzt funktionierts tadellos. Genau, wie ich es mir vorgestellt hatte.

Danke Dir nochmals recht herzlich für Deine Hilfe,
Oliver

Re: Jawohl, das wars!!!
22.11.2002 10:21:28
Steffen D
Es freut mich einem Menschen geholfen zu haben. ;-))

Wünsche Dir noch viel Spaß mit Excel

Doch noch eine Frage an Dich Steffen!
22.11.2002 10:42:42
Oliver S
Jetzt habe ich doch noch mal eine Frage. Ist es möglich diese Suchfunktion auf 2 Spalten auszudehnen? Ich habe eine Spalte mit Kundennamen(Sp B) und eine mit den dazugehörigen Strassennamen (Sp C). Da es sich bei meiner Datei um Standorte handelt, soll der Benutzer bei einer eingehenden Störung des Kunden nachsehen können, ob wir diese Anlage betreuen. Jetzt wäre es gut, wenn man nicht nur nach den Strassen sondern auch nach den Kundennamen suchen könnte.

Ich geh mal davon aus, das diese Änderung für Dich Steffen kein Problem darstellen sollte. ;-)))))

Ne, ganz im Ernst, kannst Du mir da noch einaml unter die Arme greifen?

Danke Dir schon mal im voraus,
Oliver

Anzeige
Re: Doch noch eine Frage an Dich Steffen!
22.11.2002 10:54:57
Steffen D
Du kennst dich mit Makros anscheinend überhaupt nicht aus oder?
Das ist ganz einfach,
du musst einfach diese Zeile anpassen:
For Each rngC In Range("A1:C1000") ' Bereich anpassen!!!!
davor stand ja: ....Range("A1:A1000")
wenn du mehr als 1000 Zeilen (mit Werten) hast, dann musst du die Zahl auch erhöhen, also z.B. so:
For Each rngC In Range("A1:C5000") ' Bereich anpassen!!!!


hier nochmal der ganze Code:

Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
Do While Len(strSuche) < 3
If strSuche = "" Or Len(strSuche) = 0 Then Exit Sub
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
Loop
For Each rngC In Range("A1:C1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If Left(rngC, i) = Application.WorksheetFunction.Proper(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = LCase(strSuche) Then
rngC.Activate
Exit Sub
End If

Next i
Next
MsgBox ("Nicht gefunden")
End Sub

Anzeige
Leider nur Teilerfolg!
22.11.2002 11:13:08
Oliver S
So gut wie Du kenne ich mich nicht mit aus. Allerdings hatte ich den Vorschlag von Dir schon vor meiner Fragestellung ausprobiert. Ich hatte in der besagten Zeile des Makros den Eintrag A1:A1000 in B4:C500 geändert. Leider ohne Erfolg. Ich habe in die Suchspalte den Namen GSW eingetragen. Dieser wurde nicht gefunden. Deshalb dachte ich, man müsse etwas anderes in dem Makro ändern.
Nachdem ich Dein Makro ausprobiert habe, habe ich allerdings genau das selbe Ergebnis. Gebe ich GSW ein, wird keine Übereinstimmung gefunden. Ich habe mir als Suchnamen scheinbar genau den herausgeangelt, mit dem es nicht funktioniert. Mit anderen Begriffen, wie z.B. Demos geht es. Das hatte ich allerdings bei meiner Änderung vor meiner Fragestellung nicht ausprobiert.

Wo liegt denn jetzt der Fehler, das der Begriff GSW nicht gefunden wird?

Nun bist Du wieder gefragt. ;-))

MfG,
Oliver

Re: Leider nur Teilerfolg!
22.11.2002 11:23:15
Steffen D
Jetzt müsste aber alles gehen,
der Fehler lag darin, dass GSW in Großbuchstaben geschrieben ist.
aber jetzt müsste es gehen:


Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
Do While Len(strSuche) < 3
If strSuche = "" Or Len(strSuche) = 0 Then Exit Sub
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
Loop
For Each rngC In Range("A1:C1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If rngC = strSuche Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = Application.WorksheetFunction.Proper(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = LCase(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = UCase(strSuche) Then
rngC.Activate
Exit Sub
End If
Next i
Next
MsgBox ("Nicht gefunden")
End Sub

Nicht Lachen, aber Leider nur Teilerfolg!
22.11.2002 11:44:51
Oliver S
Also jetzt nicht lachen, aber wieder nur einen Teilerfolg. Ich habe z.B. einen Namen der da lautet GeWiWo. Mit dem geht es auch nicht. Mit GSW klappt es jetzt. Dann habe ich noch einen Strassennamen der lautet Rue de Racine. Gebe ich jetzt nur rue de oder rue de racine ein, wird der Name nicht gefunden. Bei dem Eintrag Rue de Racine, also die Anfangsbuchstaben jeweils gross geschrieben, klappt es.

Au man, ist das eine schwierige Geburt, aber ich baue auf Dich Steffen,
Oliver

Re: Nicht Lachen, aber Leider nur Teilerfolg!
22.11.2002 12:23:01
Steffen D
Sub suche()
Dim rngC As Range
Dim strSuche As String
strSuche = InputBox("Suchbegriff oder 3 Anfangsbuchstaben", "Suche")
Do While Len(strSuche) < 3
If strSuche = "" Or Len(strSuche) = 0 Then Exit Sub
strSuche = InputBox("Bitte mindestens drei Buchstaben eingeben!", "Suche")
Loop
For Each rngC In Range("A1:C1000") ' Bereich anpassen!!!!
For i = 3 To Len(strSuche) Step 1
If rngC = strSuche Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = Application.WorksheetFunction.Proper(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = LCase(strSuche) Then
rngC.Activate
Exit Sub
End If
If Left(rngC, i) = UCase(strSuche) Then
rngC.Activate
Exit Sub
End If
Next i
Next
Set Erg = Range("A1:C1000").Find(what:=strSuche, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=False)
If Erg Is Nothing Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Exit Sub
Else
Range(Erg.AddressLocal).Activate
Exit Sub
End If
MsgBox ("Nicht gefunden")
End Sub

Ich muss, dann loss, bis später

Re: Nicht Lachen, aber Leider nur Teilerfolg!
22.11.2002 16:33:29
Oliver S.
So, jetzt bin ich auch zu Hause und habe die Datei von Arbeit mal eingespielt und das Makro abgeändert. Leider war der Versuch zum Teil erfolglos. Gebe ich den Namen GeWiWo komplett ein, wird der Begriff gefunden (Groß-/Kleinschreibung egal). Gebe ich allerdings nur z.B. "gewi" ein, wieder das alte Lied. Begriff nicht gefunden. Bei der Eingabe von Rue de Racine hat sich nichts geändert.

Ich hoffe Steffen, dass Du noch den Nerv besitzt mir weiterzuhelfen,
Oliver S.

Re: Nicht Lachen, aber Leider nur Teilerfolg!
22.11.2002 19:53:59
PeterW
Hallo Oliver,

habe mir das jetzt noch einmal angeschaut und etwas bereinigt. ;)
Teste mal die folgende Version:

Gruß
Peter

Jetzt klappt es, prima!
23.11.2002 06:56:37
Oliver S.
Moin Peter,

Deine bereinigte Version des Makros läuft super. Die Fehler, die vorher auftauchten sind weg. Egal wie ich den Suchbegriff eingebe, ob gross oder klein geschrieben, ob Gross- oder Kleinschreibung gemischt, ob 3,4,5,6 Buchstaben oder der gesamte Suchbegriff, es wird immer eine Übereinstimmung gefunden.

Genau so wollte ich es haben.

Recht herzlichen Dank für Deine Hilfe an meinem Problem.

Besonderen Dank auch noch mal an Steffen, der sich den ganzen Freitagvormittag mit mir und meinem Problem herumgeschlagen hat.

MfG,
Oliver S.

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige