Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: instr Suche in einer Spalte

instr Suche in einer Spalte
25.05.2021 17:51:36
Tim
Hallo zusammen,
ich komme gerade nicht weiter und benötige bitte eure Hilfe.
Ich habe eine Tabelle, die in Spalte "C" verschiedene Nummern hat, die durch ein Komma getrennt sind.
In Spalte "B" ist die jeweilige Bezeichnung zu den verschiedenen Nummern, die ich anschließend benötige.
Jetzt möchte ich gern verschiedene Nummern aus der Spalte "D" in Spalte "C" via instr durchsuchen und bei einem Treffer, die dazugehörige Bezeichnung aus Spalte "B" in Spalte "E" übernehmen, jedoch funktioniert das nicht.
Die Grundlage dazu habe ich im Netz gefunden, jedoch scheitere ich an der entsprechenden Anpassung:
https://www.herber.de/bbs/user/146364.xlsm

Private Sub CommandButton1_Click()
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim lngZZmax As Long
Dim VarDat As Variant
Dim i As Integer
With Tabelle1
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
lngZZmax = .Range("C" & .Rows.Count).End(xlUp).Row
VarDat = .Range("D2:D" & lngZeileMax)
For lngZeile = 2 To lngZeileMax
For i = 1 To UBound(VarDat)
If InStr(LCase(.Range("C" & lngZeile).Value), LCase(VarDat(i, 1))) > 0 Then
.Range("E" & lngZeile).Value = .Range("B" & lngZeile).Value
MsgBox lngZeile
Exit For
End If
Next i
Next lngZeile
End With
End Sub

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 18:03:56
onur
Und was genau soll der Code wo genau suchen?
AW: instr Suche in einer Spalte
25.05.2021 18:34:51
Tim
Hallo onur,,
der Code soll für jeden Zeileneintrag in Spalte D, die Spalte C auf einen Treffer durchsuchen. Hat er einen Treffer, benötige ich aus Spalte B den Eintrag dazu.
AW: instr Suche in einer Spalte
25.05.2021 18:40:18
onur
!benötige ich aus Spalte B den Eintrag dazu."?
Als Msg-Box-Ausgabe ?
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 19:57:15
Tim
Nein, das Ergebnis soll bitte als Eintrag hinter den Suchwert geschrieben werden. Die MsgBox war nur für einen Test, um ggf. selbst auf die Lösung zu kommen.
AW: instr Suche in einer Spalte
25.05.2021 19:58:42
onur
Unmd wenn MEHRERE Einträge gefunden werden?
AW: instr Suche in einer Spalte
25.05.2021 20:04:54
Tim
Dann bitte nur den ersten Treffer.
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 20:29:04
onur
In deiner Datei kann man nix finden, da keiner der Suchwerte irgendwo in Spalte C zu finden sind.
AW: instr Suche in einer Spalte
25.05.2021 20:37:37
Tim
Das habe ich übersehen, tut mir leid.
Hier noch mal mit Werten die Auffindbar sein müssten.
https://www.herber.de/bbs/user/146367.xlsm
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 20:57:24
Tim
Perfekt, vielen Dank!
Gerne !
25.05.2021 20:58:22
onur
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 20:58:44
Yal
Hallo Tim,
Onur arbeitet bestimmt schon an einer Lösung, und ich möchte ihn den Vorrang nicht wegnehmen, aber einen Workaround vorschlagen:
Wenn die Enträge in Spalte C untereinander anstatt einzellig Komma-getrennt und die Spalte C vor der Spalte B wäre, dann bräuchtest Du nur noch einen Sverweis.
Diese beide Schritten gehen mit Power Query (PQ) relativ leicht.
Zuerst eine "Tabelle" erzeugen und PQ-Abfrage anstossen:
_ Die Tabelle in Spalte B und C als "Tabelle" (Reiter "Einfügen", "Tabelle" oder Strg+t) deklarieren. Mit Überschrift. Vielleicht geht es leichter, wenn zwischen Spalte C und D eine leere Spalte vorher eingefügt wird. Spalte A kann dabei sein, stört nicht.
_ auf diese "Tabelle", im Reiter "Daten", Block "Abrufen und transformieren", Schlatfläche "Aus Tabelle" anklicken
Dann bist Du im PQ-Editor.
Dort:
_ die Spalte "weitere Typen" auswählen
_ im Reiter "Start" die Funktion "Spalten teilen" anklicken,
_ nach Komma teilen und unter "Erweiterte Optionen", "Aufteilen in Zeilen" auswählen
_ den letzten angewendetem Schritt "geänderte Typ" löschen (es versucht daraus ein Zahl zu machen. Wir wollen, dass es Text bleibt, sonst verschwinden die führenden Nullen)
_ Spalte "erweiterte Typen" vor der Spalte "Bezeichnung" verschieben
_ zweck Übersicht, die Abfrage in "Ergebnis" umbenennen (rechts in Abfrage-Eigenschaften)
_ Schliessen und laden (Reiter "Start")
Es öffnet sich eine neue Blatt "Tabelle2", wo alle Einträge wie im PQ gezeigt aufgelistet werden (bei neuen Einträge in der Ursprungsliste, Rechtklick auf "aktualisieren" * )
Darauf eine Sverweis auf dem "Erweiterte Typen", das ungefähr so aussehen wird:

=SVERWEIS(TEXT(D3;"0");Ergebnis[[#Alle];[weitere Typen]:[Bezeichnung]];2;0)
Die Umwandlung in Text ist notwendig sonst suchst Du Zahlen innerhald von Texte.
*: Das wirst Du schnell brauchen, weil keines den von Dir gelieferten Beispiele hat ein Treffer. Also irgendeinen Wert aus der Spalte D kopieren, mit einer Komma am Ende eines "weitere Typen" einfügen und die neue Liste wie beschrieben aktualisieren. Dann gibt es einen Treffer (der auch noch dazu leicht zu prüfen ist)
VG
Yal
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 21:21:00
Yal
Die Lösung von Onur ist tatsächlich schlänker als ich dachte.
Zum Spass: als User-Defined-Function, so ein Art von "Sverweis für die andere Seite" (wenn RelativeSpalte = -1):

Public Function MeinVerweis(Was, Wo, RelativeSpalte As Integer)
Dim Z As Range
Dim R As Range
Set R = Wo.EntireColumn
Set Z = R.Find(What:=Was, After:=R.Range("A1"), LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
MeinVerweis = IIf(Z Is Nothing, "", Z.Offset(0, RelativeSpalte).Value)
End Function
Es wird einfach so gerufen:

=MeinVerweis(D2;$C$1:$C$17;-1)
VG
Yal
Anzeige
AW: instr Suche in einer Spalte
25.05.2021 20:43:32
Tim
Dann bitte nur den ersten Treffer.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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