Excel – error 1004 podczas funkcji Vlookup

Proszę o pomoc w następujacej kwestii:
W excelu mam makro w Vbasic które uźywa następującej funkcji: Application.WorksheetFunction.VLookup(ComboBox1.Value, Worksheets("Katalog").Range("B:D"), 3, 1)

Jeźeli poszukiwana wartość jest tekstem np. A60001 to wszystko gra i zwracana jest odpowiednia wartość z tabeli (wartość wyszukiwana pobierana jest z combobox'a załadowanego danymi z przeszukiwanej przez Vlookup kolumny)

Jeźeli poszukiwana wartość jest liczbą np. 60001 to następuje run–time błąd 1004 "Pobranie właściwości Vlookup klasy WorksheetFunction nie jest moźliwe"

Proszę o pomoc jak to obejść. Podobnie zresztą zachowuje się sam excel przy funkcji Vlookup wpisanej prosto do komórki (wyszukuje po wartościach tekstowych, zgłasza błąd przy wartościach liczbowych)

Odpowiedzi: 2

Dzięki wielkie :)
Rozwiązanie pomogło.
Chyba rzeczywiście przyczyną była niezgodność typów danych.
Niestety Excel wprost nie podpowiada jaki typ zapisuje w komórce.
Dopiero test CZY.TEXT lub CZY.LICZBA ujawnia prawdziwą naturę wartości komórki.
Formatowanie bywa zawsze zawodne.
gds2
Dodano
03.01.2006 23:13:20
Hej!!
Jeśli wyszukujesz tylko wartości (liczby) to wystarczy:
ComboBox1.Value*1
Jeśli wartości i tekst to pomoźe zabieg:

szukana = ComboBox1.Value
On Error Resume Next
szukana = szukana * 1
On Error GoTo 0
Application.WorksheetFunction.VLookup(szukana, Worksheets("Katalog").Range("B:D"), 3, 1)

Pozdrawiam
Trebor
Dodano
03.01.2006 20:12:04
gds2
Dodano:
03.01.2006 15:34:44
Komentarzy:
2
Strona 1 / 1