Temat: wyszukiwanie po liście wartości w jednej komórce

Mam 2 tabele, jedna zawiera listę części (kolumna nazwa;kategoria;pasuje do), druga kategorie (nazwa;id_kategorii)

Przykład:
Tabela1:
nazwa;kategoria;pasuje do
koło;1,2,3;Pasuje do Nissan Almera, Honda Civic, Toyota Avensis
szyba;3,4;Pasuje do Toyota Yaris, BMW X3
wycieraczka;2,3,5;Pasuje do Honda (wszystkie modele), Toyota Corolla, BMW X3

Tabela2:
Nissan;1
Honda;2
Toyota;3
Fiat;4
BMW;5

W tabeli 1 kolumna kategoria jest już tak wypełniona jakbym chciał, czyli numerami id kategorii których nazwy są w komórce "pasuje do"

Jak zrobić funkcje przeszukującą komórkę pasuje do pod względem występowania każdej z komórek kategorii i wypisującej id do komórki wynikowej?

konto usunięte

Temat: wyszukiwanie po liście wartości w jednej komórce

Witam.
O ile dobrze zrozumiałem potrzebujesz otrzymać wynik w kolumnie " Kategoria" w tabeli 1.
Wynikiem jest "id" pobrane z tabeli drugiej na podstawie znajdujących się nazw samochodów w kolumnie "pasuje do" w tabeli 1?
Jeśli tak to na szybko małe makro :

Sub wysz()
Dim wynik As String
Dim zakrespasujedo As Range, zakres_id As Range

Set zakrespasujedo = Application.InputBox _
("Zaznacz zakres - kolumna : pasuje do - tabela 1", _
"Pobranie zakresu", , , , , , 8)

Set zakres_id = Application.InputBox _
("Zaznacz nazwa - nazwa samochodu tabela 2 ", _
"Pobranie zakresu", , , , , , 8)

For Each b In zakrespasujedo

For Each c In zakres_id
If InStr(1, b, c) <> 0 Then

wynik = wynik & c.Offset(0, 1) & " ,"

End If
Next

b.Offset(0, -1) = wynik ' <--wypisuje id w kolumnie kategoria
wynik = ""

Next

End Sub


pozdrawiamTen post został edytowany przez Autora dnia 01.07.13 o godzinie 17:11

Temat: wyszukiwanie po liście wartości w jednej komórce

Dzięki Krzysztofie, o to chodziło. Chyba nadszedł czas abym się nauczył VBA...

Temat: wyszukiwanie po liście wartości w jednej komórce

Raczej SQL, bo to idealny przypadek do rozwiązania np z MS Query



Wyślij zaproszenie do