Hirdetés
- Brogyi: CTEK akkumulátor töltő és másolatai
- Meggyi001: Kuponok....
- Szevam: Mennyire tipik Z-gen viselkedés? Tipizálható-e egyáltalán?
- sziku69: Fűzzük össze a szavakat :)
- sparks: 15 év droid után iPhone tapasztalat, 7 nap alatt
- lezso6: Miért is jó, ha dohányzol?! Megéri rászokni!
- ldave: New Game Blitz - 2025
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Luck Dragon: Asszociációs játék. :)
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
Szia!
Egyrészt talán nem szerencsés, hogy egy VBA névvel (Caller) jelölöd a saját változódat. Ez okozhat problémákat. Bár valószínűleg itt nem ez az elsődleges probléma.
Ahogyan már az előttem szóló is írta, a
Caller.Application.Worksheetfunction.Match helyett írj csak
Application.Match kifejezést.
Ennek az előnye az, hogy nem kell külön hibakezelési eljárást írni a makróba, mert nem idéz elő hibát.
Viszont a változót Variant-nak kell deklarálni és mindig meg kell vizsgálni, hogy a művelet eredményeként nem hiba lett-e a változó értéke.Ezt próbáld meg:
Public Function KKERES() As Double
Dim X As Variant, Y As Variant
KKERES = 0
If TypeOf Application.Caller Is Range Then
Dim Caller As Range
Set Caller = Application.Caller
Dim Z As String
Z = Munka2.Cells(Caller.Row, 2).Text
If Z <> "" Then
X = Application.Match(Z, Munka3.Range("B:B"), 0)
If IsError(X) Then
Y = Application.Match(Z, Munka4.Range("B:B"), 0)
If IsError(Y) Then Y = Application.Match(Z, Munka4.Range("C:C"), 0)
If IsError(Y) Then
KKERES = 0
Exit Function
Else
If Caller.Column = 5 Then
KKERES = Munka4.Cells(Y, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka4.Cells(Y, 6).Value
Exit Function
End If
End If
Else
If Caller.Column = 5 Then
KKERES = Munka3.Cells(X, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka3.Cells(X, 6).Value
Exit Function
End If
End If
End If
End If
End FunctionÜdv.
Új hozzászólás Aktív témák
- BestBuy ruhás topik
- Battlefield 6
- A fociról könnyedén, egy baráti társaságban
- NFL és amerikai futball topik - Spoiler veszély!
- Apple asztali gépek
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Játékmenet előzetest kapott a Warhammer 40k: Dawn of War IV
- exHWSW - Értünk mindenhez IS
- Polgári repülőgép-szimulátorok
- Építő/felújító topik
- További aktív témák...
- ASUS RTX 5060 Ti DUAL OC 8GB GDDR7 DLSS4 új, 3év garis eladó
- LG 34WQ500-B - 34" IPS LED - 2560x1080 Wide FHD - 100Hz 5ms - AMD FreeSync - HDR10
- Bomba ár! Lenovo ThinkPad T470 - i5-G6 I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- LG 27GS95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / 1000 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest