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

Suchfunktion in Schleife einbauen

Suchfunktion in Schleife einbauen
07.05.2020 11:12:16
Daniel
Hallo liebe community,
ich möchte ganz gerne in einer Tabelle nach mehreren bestimmten Schlagwörtern suchen und falls es die gibt, dann soll in der nächsten Spalte nach Zahlen kontrolliert werden. Ein kleines Beispiel:
Es soll geschaut werden ob in der Tabelle das Wort "Apfel" enthalten ist, wenn nicht dann soll nach dem Wort "Birne" geschaut werden. Wenn das Wort "Apfel" vorhanden ist (Beispielsweise in D145, dann soll in E145 geschaut werden ob die Zahl 1,2 oder 5 enthalten ist.
Set rng = ActiveSheet.Range("A1:K1500").Find("Apfel")
If rng Is Nothing Then
Exit Sub
End If

Den o.g. Code habe ich schon gefunden, muss den aber jetzt noch erweitern. Kann mir jemand dabei helfen ?
Mfg
Daniel

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion in Schleife einbauen
07.05.2020 15:40:41
Beverly
Hi Daniel,
ich nehme an, du meinst immer die Zelle rechts neben dem gefundenen Suchbegriff?
Sub Suchen()
Dim rngSuche As Range
Dim arrWerte()
Dim intZaehler As Integer
arrWerte = Array("Apfel", "Birne", "Kirsche") '

GrußformelBeverly's Excel - Inn
AW: Suchfunktion in Schleife einbauen
08.05.2020 11:49:06
Daniel
Hallo Karin,
vielen lieben Dank für die schnelle Antwort!
Der Code funktioniert super und genau so habe ich es gemeint!
Prima!!!! Vielen lieben Dank. Ich freue mich riesig.
Anzeige
AW: Suchfunktion in Schleife einbauen
08.05.2020 12:10:22
Daniel
Hi Karin,
hätte da doch noch eine Frage.
Angenommen ich möchte für jedes Obst nach anderen Zahlen suchen.
Bsp: Wenn Apfel gefunden wird dann soll nach 1 oder 2 oder 3 geschaut werden.
Wenn Birne gefunden wird dann soll nach 4 oder 5 oder 6 geschaut werden.
Wenn Melone gefunden wird dann soll nach 7 oder 8 oder 9 geschaut werden.
Hier bei ist es aber möglich das neben der Zelle mit dem Obst auch mehrere Zahlen vorhanden sind.
Bsp. Melone: und in der nächsten Zelle steht dann 2,5,6,8. Diese sind jeweils mit einem Komma von einander getrennt.
Macht es dann sinn das ganze als Array beizubehalten oder sollte ich das dann lieber aufteilen und für jede suche eine eigene Funktion schreiben ?
Vielen Dank im voraus.
Anzeige
AW: Suchfunktion in Schleife einbauen
08.05.2020 12:41:09
Beverly
Hi Daniel,
ich weiß nicht, ob ich dich richtig verstanden habe: bei "Melone" können auch Zahlen stehen, die eigentlich für Apfel und Birne gelten?
Sub Suchen()
Dim rngSuche As Range
Dim arrWerte()
Dim intZaehler As Integer
arrWerte = Array("Apfel", "Birne", "Melone") ' 0 Or _
InStr(rngSuche.Offset(0, 1), 2) > 0 Or _
InStr(rngSuche.Offset(0, 1), 3) > 0 Then _
MsgBox "Apfel" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
Case "Birne"
If InStr(rngSuche.Offset(0, 1), 4) > 0 Or _
InStr(rngSuche.Offset(0, 1), 5) > 0 Or _
InStr(rngSuche.Offset(0, 1), 6) > 0 Then _
MsgBox "Birne" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
Case "Melone"
If InStr(rngSuche.Offset(0, 1), 7) > 0 _
Or InStr(rngSuche.Offset(0, 1), 8) > 0 _
Or InStr(rngSuche.Offset(0, 1), 9) > 0 Then _
MsgBox "Melone" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
End Select
End If
Next intZaehler
End Sub


GrußformelBeverly's Excel - Inn
Anzeige
AW: Suchfunktion in Schleife einbauen
09.05.2020 13:56:00
Daniel
Hey Karin,
zunächst nochmals vielen Dank für den o.g Code.
Auch dieser Funktioniert prima!
Genau, die Zahl 1 kann sowohl bei Melone als auch bei Birne und Apfel enthalten sein.
Wenn jedoch bei Apfel eine 1 gefunden wird, dann reicht das. Da Apfel die höchste Priorität hat.
Hab noch mal eine Frage zum Code:
Dieser Funktioniert echt super, wenn jedoch mehrere Zahlen in der Zelle stehen dann bekomme ich alle Zahlen ausgegeben, auch die, nach welchen nicht gesucht werden sollte.
Bsp: In der Zelle neben Apfel steht 1,4,6,7. Ist es möglich in der Msgbox nur die 1 zu erhalten. Bzw nur die Zahl zu erhalten nach der auch gefragt wurde.
Lieben Gruß und vielen Dank für die Mühe
Anzeige
AW: Suchfunktion in Schleife einbauen
09.05.2020 14:57:05
Beverly
Hi Daniel,
der Code sucht nicht nach einer bestimmten Zahl sondern nach Apfel, Birne usw. und schaut dann, was in der Nachbarzelle steht - unabhängig von einer (nicht festgelegten unbekannten) Priorität. Das was du jetzt beschreibst ist etwas anderes, denn so wie ich das verstanden habe ist die Bedingung also nicht, dass 1, 2, 3 bei Apfel stehen darf sondern unbedingt mindestens 1 (und noch weitere Zahlen) stehen muss - wenn bei Apfel 1 nicht steht sondern nur 2 und 3, soll auch nichts angezeigt werden.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Suchfunktion in Schleife einbauen
11.05.2020 15:22:29
Daniel
Hey Karin,
Vielen Dank für deine Hilfe. Der Code läuft super und macht genau was ich will.
Wünsche dir einen tollen Tag
Lg Daniel
AW: Suchfunktion in Schleife einbauen
12.05.2020 13:57:34
Daniel
Hey Karin,
ich hätte da doch noch mal eine Frageh:
Gibt es bei der Select Methode auch die Möglichkeit ein Nothing einzubauen ?
Sprich wenn Weder Apfel noch Birne und Melone gefunden wird dann soll in der Msgbox ein "Es wurde nichts gefunden" ausgerufen werden.
Ebenfalls wenn in der Zelle neben dem Obst nichts steht, sprich die Zelle leer ist dann soll in der Msgbox drinstehen das die Zelle leer ist.
Vielen Dank im Voraus
AW: Suchfunktion in Schleife einbauen
12.05.2020 15:41:59
Beverly
Hi Daniel,
ich weiß nicht, ob ich dich richtig verstanden habe - hier mein Vorschlag wie ich es interpretiert habe:
Sub Suchen()
Dim rngSuche As Range
Dim arrWerte()
Dim intZaehler As Integer
Dim intGefunden As Integer
arrWerte = Array("Apfel", "Birne", "Melone") ' 0 Or _
InStr(rngSuche.Offset(0, 1), 2) > 0 Or _
InStr(rngSuche.Offset(0, 1), 3) > 0 Then
MsgBox "Apfel" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
ElseIf rngSuche.Offset(0, 1) = "" Then
MsgBox "Nachbarzelle für Apfel ist leer"
End If
intGefunden = intGefunden + 1
Case "Birne"
If InStr(rngSuche.Offset(0, 1), 4) > 0 Or _
InStr(rngSuche.Offset(0, 1), 5) > 0 Or _
InStr(rngSuche.Offset(0, 1), 6) > 0 Then
MsgBox "Birne" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
ElseIf rngSuche.Offset(0, 1) = "" Then
MsgBox "Nachbarzelle für Birne ist leer"
End If
intGefunden = intGefunden + 1
Case "Melone"
If InStr(rngSuche.Offset(0, 1), 7) > 0 _
Or InStr(rngSuche.Offset(0, 1), 8) > 0 _
Or InStr(rngSuche.Offset(0, 1), 9) > 0 Then
MsgBox "Melone" & vbLf & "In der Nachbarzelle steht " & _
rngSuche.Offset(0, 1)
ElseIf rngSuche.Offset(0, 1) = "" Then
MsgBox "Nachbarzelle für Melone ist leer"
End If
intGefunden = intGefunden + 1
End Select
End If
Next intZaehler
If intGefunden = 0 Then MsgBox "Nichts gefunden"
End Sub

GrußformelBeverly's Excel - Inn
Anzeige
AW: Suchfunktion in Schleife einbauen
12.05.2020 17:29:19
Daniel
Hallo Karin,
tut mir leid, das war leider echt doof erklärt.
Ich probiere es nochmal: Wenn weder Apfel noch Birne oder Melone gefunden wird, dann soll das Programm als Ergebnis Melone ausgeben.
Nochmals vielen Dank für die schnelle Rückmeldung und für deine Mühle
Lieben Gruß
Daniel
AW: Suchfunktion in Schleife einbauen
12.05.2020 17:48:05
Beverly
Hi Daniel,
sorry, aber jetzt verstehe ich leider nur Bahnhof.

GrußformelBeverly's Excel - Inn
Anzeige
AW: Suchfunktion in Schleife einbauen
12.05.2020 18:44:50
Daniel
Hey Karin,
Also ich probiere es noch mal :D
Es soll abgefragt werden ob sich in der Liste: „Apfel“, „Brine“ oder „Melone“ befindet. Sollten diese vorhanden sein soll in der nächsten Spalte nach Zahlen geprüft werden.
Nun besteht die Möglichkeit das keiner der Begriffe In der Tabelle vorhanden ist. In diesem Fall soll auf Melone entschieden werden..
Bedeutet: Gibt es weder Apfel, Birne oder Melone dann soll das Ergebnis Melone sein auch wenn es dann nicht möglich ist in der nächsten Spalte nach zahlen zu suchen
Ich hoffe diesmal war es verständlicher
Lg
AW: Suchfunktion in Schleife einbauen
12.05.2020 18:59:58
Beverly
Hi Daniel,
also das jetzt ist noch unverständlicher: wie soll das denn funktionieren - es gibt weder Apfel, Birne noch Melone, aber das Ergebnis soll Melone sein? Was nicht vorhanden ist kann doch nicht als Ergebnis fungieren...

GrußformelBeverly's Excel - Inn
Anzeige
AW: Suchfunktion in Schleife einbauen
12.05.2020 19:30:22
Daniel
Moin Karin,
Auch wenn sich das zu nächst unlogisch anhört brauche ich das leider so :D
Um es vllt anders zu formulieren:
Ich hab eine Liste in welcher der Arbeitsaufwand für das saubermachen meiner Wohnung festgehalten ist.
Nun stehen in Spalte A die Schlafzimmer der Wohnung.
Wenn das größte Schlafzimmer 1 dreckig ist brauche ich viel Zeit
Wenn das mittlere Schlafzimmer 2 dreckig ist brauche ich „mittel“ Zeit
Wenn das Kinderzimmer dreckig ist brauche ich wenig Zeit.
Nun gibt es nur die 3 Möglichkeiten viel, mittel oder wenig.
Also auch wenn alle 3 Zimmer dreckig sind brauche ich viel Zeit
Wenn keins dreckig ist brauche ich wenig Zeit
Nun öffne ich (ich nenne es mal vorsichtig „unseres“) geschriebene Macro und suche nach den Zimmern. (Schlafzimmer 1, Schlafzimmer 2 und Kinderzimmer)
Jetzt ist aber kein Zimmer dreckig als steht auch kein Zimmer in der Liste. Das Ergebnis soll trotzdem wenig Zeit sein, da jede Woche der Flur und das Badezimmer geputzt werden soll.
Ich hoffe an diesen Beispiel wird es deutlicher
Kann das irgendwie in den Code eingebaut werden ?
Wenn keines der Obstsorten gefunden werden kann soll das Ergebnis Melone sein um es am vorherigen Beispiel noch mal zu verdeutlichen.
Ist es möglich ein 4 case einzubauen in dem ich bestimmen kann was passieren soll wenn keines der 3 Obstsorten gefunden werden kann ?
Hoffe diesmal hab ich es geschafft es etwas deutlicher zu erklären
Anzeige
AW: Suchfunktion in Schleife einbauen
12.05.2020 19:37:53
Beverly
Hi Daniel,
es gibt eine If-Codezeile ganz am Ende mit der MsgBox "Nichts gefunden" - das ist die Stelle die du für deine Zwecke entsprechend umbauen musst.

GrußformelBeverly's Excel - Inn
AW: Suchfunktion in Schleife einbauen
14.05.2020 01:17:58
Daniel
Moin Karin,
Auch wenn sich das zu nächst unlogisch anhört brauche ich das leider so :D
Um es vllt anders zu formulieren:
Ich hab eine Liste in welcher der Arbeitsaufwand für das saubermachen meiner Wohnung festgehalten ist.
Nun stehen in Spalte A die Schlafzimmer der Wohnung.
Wenn das größte Schlafzimmer 1 dreckig ist brauche ich viel Zeit
Wenn das mittlere Schlafzimmer 2 dreckig ist brauche ich „mittel“ Zeit
Wenn das Kinderzimmer dreckig ist brauche ich wenig Zeit.
Nun gibt es nur die 3 Möglichkeiten viel, mittel oder wenig.
Also auch wenn alle 3 Zimmer dreckig sind brauche ich viel Zeit
Wenn keins dreckig ist brauche ich wenig Zeit
Nun öffne ich (ich nenne es mal vorsichtig „unseres“) geschriebene Macro und suche nach den Zimmern. (Schlafzimmer 1, Schlafzimmer 2 und Kinderzimmer)
Jetzt ist aber kein Zimmer dreckig als steht auch kein Zimmer in der Liste. Das Ergebnis soll trotzdem wenig Zeit sein, da jede Woche der Flur und das Badezimmer geputzt werden soll.
Ich hoffe an diesen Beispiel wird es deutlicher
Kann das irgendwie in den Code eingebaut werden ?
Wenn keines der Obstsorten gefunden werden kann soll das Ergebnis Melone sein um es am vorherigen Beispiel noch mal zu verdeutlichen.
Ist es möglich ein 4 case einzubauen in dem ich bestimmen kann was passieren soll wenn keines der 3 Obstsorten gefunden werden kann ?
Hoffe diesmal hab ich es geschafft es etwas deutlicher zu erklären
AW: Suchfunktion in Schleife einbauen
14.05.2020 09:58:45
Daniel
Moin Karin,
Der Code funktioniert super!
Vielen lieben Dank für die große Hilfe!!
AW: Suchfunktion in Schleife einbauen
14.05.2020 09:58:47
Daniel
Moin Karin,
Der Code funktioniert super!
Vielen lieben Dank für die große Hilfe!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige