Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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
Suchen und Finden
22.04.2016 13:55:20
Stefan
Hallo Zusammen,
ich habe folgendes Problem. Ich habe eine Tabelle in der in Spalte A z.b. folgender Inhalt steht. In A1 steht ABCD, BCDE, EFGH in A2 steht ABCD, KLMN, TGHN, KLMN, NGHJ
Zu diesen einzelnen 4stelligen Kombinationen sollen aus einer anderen Liste die zugehörigen Werte gesucht werden. Diese Liste ist wie folgt aufgebaut
A1 ABCD B1 1234
A2 BCDE B2 3456
A3 EFGH B3 9876
etc.
Gibt es eine Möglichkeit in der Ursprungsliste neben der Zelle A1 mit ABCD, BCDE, EFGH die Zelle B1 zu erzeugen, die dann die Werte 1234, 3456, 9876 enthält.
Entweder mit einer Formel oder mit VBA. Ich muss gestehen, ich steh hier völlig auf dem Schlauch.
Viele Grüße und vorab schon mal vielen Dank für Eure Hilfe
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Finden
22.04.2016 14:53:55
ChrisL
Hi Stefan
Siehe Anhang:
https://www.herber.de/bbs/user/105150.xlsm
Im Standard-Modul:
Function SplitSpezial(rng1 As Range, rng2 As Range) As String
Dim MyArray() As String, tempStr As String
Dim i As Integer
Application.Volatile
MyArray() = Split(rng1.Text, ", ")
For i = LBound(MyArray) To UBound(MyArray)
If WorksheetFunction.CountIf(Worksheets(rng2.Parent.Name).Columns(rng2.Column), MyArray(i))  _
= 0 Then
tempStr = "kein Wert"
Else
tempStr = WorksheetFunction.VLookup(MyArray(i), rng2, 2, False)
End If
If SplitSpezial = "" Then
SplitSpezial = tempStr
Else
SplitSpezial = SplitSpezial & ", " & tempStr
End If
Next i
End Function
Anschliessend als Formel verwendet:
=splitspezial(A1;$H$1:$I$3)
A1 = Suchstring
H1:I3 = Liste
cu
Chris

Anzeige
AW: Suchen und Finden
25.04.2016 07:33:24
Stefan
Hallo Chris,
vielen Dank für Deine Hilfe das ist genau das was ich gesucht habe. Ich habe nur ein kleines Problem.
Die Datenbasis hat sich ein klein wenig geändert. In A1 und A2 steht nicht mehr ABCD, BCDE, EFGH und ABCD, KLMN, TGHN, KLMN, NGHJ, sondern TABCD, TBCDE, TEFGH in A2 steht TABCD, TKLMN, TTGHN, TKLMN, TNGHJ. Also vor allen Kombinationen ist ein T. In der Suchliste ist aber kein T vor der 4er Kombination. Kannst Du das mit ganz wenig Aufwand noch umsetzen?
Vielen Dank und schöne Grüße
Stefan

AW: Suchen und Finden
25.04.2016 08:32:43
ChrisL
Hi Stefan
Wenn ich richtig verstehe so... d.h. erster Buchstabe wird ignoriert.
Function SplitSpezial(rng1 As Range, rng2 As Range) As String
Dim MyArray() As String, tempStr As String, cutStr As String
Dim i As Integer
Application.Volatile
MyArray() = Split(rng1.Text, ", ")
For i = LBound(MyArray) To UBound(MyArray)
cutStr = Right(MyArray(i), Len(MyArray(i)) - 1)
If WorksheetFunction.CountIf(Worksheets(rng2.Parent.Name).Columns(rng2.Column), cutStr) = 0  _
Then
tempStr = "kein Wert"
Else
tempStr = WorksheetFunction.VLookup(cutStr, rng2, 2, False)
End If
If SplitSpezial = "" Then
SplitSpezial = tempStr
Else
SplitSpezial = SplitSpezial & ", " & tempStr
End If
Next i
End Function

cu
Chris

Anzeige
AW: Suchen und Finden
25.04.2016 08:39:10
Stefan
Hi Chris,
wenn ich die neue Funktion ausprobiere kommt immer #WERT...
Gruß
Stefan

AW: Suchen und Finden
25.04.2016 09:03:14
Stefan
Hi Chris,
ich habs auch grade in einer neuen Datei versucht da hats auch geklappt. Dann halt über einen workaround! Macht nix.
Vielen Dank für Deine Hilfe!! Du hast mir wahnsinnig viel Zeit erspart.
Schöne Grüße
Stefan

196 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige