Excel(VBA) Miért nem működik a .Match parancs?

Excel(VBA) Miért nem működik a .Match parancs?
2012-09-11T10:11:28+02:00
2012-09-11T10:30:33+02:00
2022-11-26T20:20:38+01:00
Gülredy
keresett_nev = Worksheets("Setup").Range("J" & k_sorszam + 3).Value kereses = Application.WorksheetFunction.Match(keresett_nev, Worksheets("Munkalap1").Range("B11:Z11"), 0) If kereses = False Then Exit Do End If

A fenti kód segítségével egy változóban tárolt string-re keresek rá egy range tartományban, és ha nem szerepel ott benne akkor kilép a Do while ciklusból.

Ez a kód egy SpinButton-ra van beállítva, amely sql-ből leszedi az adatokat egy ideiglenes munkalapra, majd onnan másolja az adatokat át a megfelelő excel táblázatba.

A gond az vele, hogy amikor lenyomom a gombot, akkor azt a hibát írja ki hogy :
"Runtime error 1004"
WorksheetFunction osztály Match tulajdonsága nem érhető el!

De érdekes módon, ha teszek egy breakpoint-ot a Do while ciklus kezdetéhez, és onnan lépkedek el manuálisan F8-al ehhez a kódhoz, akkor simán lefut, és úgy ahogy kell neki.

Nem értem, mi lehet a gond? Valamit nem jól csinálok?
Mutasd a teljes hozzászólást!
Azért, mert ha nincs, akkor hibát generál.

Vagy:
on error resume next kereses = Application.WorksheetFunction.Match(.. if err<>0 then ' nem volt else ' volt end if on error goto 0

Vagy (én jobban szeretem):
dim kereses as variant' Csak hogy lásd, variant kereses = Application.Match(... if vartype(kereses)=vberror then ' nem volt else ' volt end if
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd