Ich habe Blatt1
**group** **Name**
red,white,blue
white, blue,red
blue,red
red,white,blue,pink
sheet2
Color Name
red joe
white jim
blue bill
mit mehreren Datensätzen möchte ich die Namen für den Gruppennamen in Blatt1 B1 mehrfach nachschlagen. Office 365 kann für Textjoint nicht verwendet werden. Gibt es eine andere Möglichkeit?
Antwort1
Ich würde es mit VBA machen.
Öffnen Sie den VBA-Editor mit Alt+F11
Einfügen > Modul
Fügen Sie diesen Code ein:
Sub lookup_VBA() Dim c als Bereich Dim arr() As String Dim i As Long Dim-Match Solange Dim sResult als String Bei Fehler GoTo errH Für jedes c in Blättern("Blatt1").Bereich("A2:A10") arr = Split(c, ",") Für i = 0 bis UBound(arr) Übereinstimmung = Arbeitsblattfunktion.Übereinstimmung(Trim(arr(i)), Blätter("Blatt2").Zellen(1).GesamteSpalte, 0) Wenn Übereinstimmung = 0, dann sResult = sResult & "N/A, " Anders sResult = sResult & Tabellen("Tabelle2").Zellen(Übereinstimmung, 2).Wert & ", " Ende, wenn Übereinstimmung = 0 Nächste sResult = Links(sResult, Länge(sResult) - 2) c.Offset(, 1).Wert = sResult sResult = vbNullString Nächste ähm: Wenn Err.Number = 1004 Dann Weiter SonstWenn Fehlernummer > 0 Dann MsgBox Err.Number & " " & Err.Description, , "Fehler" Ende, wenn End Sub
- Ersetzen Sie den Code
.Range("A2:A10")
durch die tatsächliche Datenadresse in Ihrer Spalte „Gruppe“. Sheet1
Ändern Sie diese bei BedarfSheet2
durch Ihre tatsächlichen Blattnamen.- SchlagF5