- Huawei Watch Fit 3 - zöldalma
- Megvásárolható a legolcsóbb kagylótelefon
- Apple iPhone 15 - a bevált módszer
- Samsung Galaxy Watch6 Classic - tekerd!
- Dobta a zoomkamerát az új Sony Xperia 10
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Sony Xperia 1 V - kizárólag igényeseknek
- Jobb zoom, egyszerűbb kijelző - megérkezett a Sony Xperia 1 VI
- Honor Magic6 Pro - kör közepén számok
Hirdetés
-
Rövid videón a Black Myth: Wukong
gp A sokak által várt játék a tervek szerint augusztus végén debütál PC-n és konzolokon.
-
Hardverek pünkösdre
ph E-book olvasók, komponensek és perifériák kerültek hétvégi összeállításunkba.
-
Call center-forradalom: AI alakítja át az ideges telefonálók hangját
it A SoftBank szerint nehéz a munkája a call centerek dolgozóinak, ezért olyan AI-megoldásokkal segítenének, amelyek az ideges telefonálók hangját egyszerűen átalakítják nyugodt stílusúra.
-
Mobilarena
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
őstag
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
- Diablo IV
- Kerékpársportok
- Processzor lábak javítása helkis módra
- Bemutatta első Snapdragon X-re épülő notebookját az ASUS
- Autós topik
- sziku69: Fűzzük össze a szavakat :)
- Fehér zakót öltenek a Super Flower platinás Leadex VII Pro tápjai
- Autós topik látogatók beszélgetős, offolós topikja
- DIGI kábel TV
- Elden Ring
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Alpha Laptopszerviz Kft.
Város: Pécs