WorksheetFunction set atması

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,111
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

Kod:
MyLookup = Application.WorksheetFunction.VLookup(var1, range1, var2, False)
Bu kodda;
"Application.WorksheetFunction.VLookup"

kısmını kısaltmak adına Set ataması yapabilmenin bir yöntemi var mıdır?
Kod:
dim VL as .....................
Set VL = Application.WorksheetFunction.VLookup
MyLookup = VL (var1, range1, var2, False)
gibi....

teşekkürler, iyi Pazarlar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,364
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Aşağıdaki gibi yapabilirsiniz.

Kod:
Sub test()
    Dim vl As WorksheetFunction

End Sub
Set yapmanıza gerek yok çünkü fonksiyonlar nesne değildir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi olabilir.

C++:
Option Explicit

Sub Test()
    Dim WF As WorksheetFunction, MyLookup As Variant
    
    Set WF = Application.WorksheetFunction
    
    MyLookup = WF.VLookup(var1, range1, var2, False)
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,111
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba.
Aşağıdaki gibi yapabilirsiniz.

Kod:
Sub test()
    Dim vl As WorksheetFunction

End Sub
Set yapmanıza gerek yok çünkü fonksiyonlar nesne değildir.
teşekkürler,
yalnız bir çok fonksiyon var, bunun VLookup olduğunu nasıl ayırt edecek?
Application.WorksheetFunction.CountIf olunca nasıl olacak?

sizden kodu ricam komple yazabilir misiniz

iyi pazarlar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,364
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki gibi olacak.

Kod:
Sub test()
    Dim fn As WorksheetFunction
    Dim MyLookup As Variant
    
    MyLookup = fn.VLookup(var1, range1, var2, False)

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,364
Excel Vers. ve Dili
2019 Türkçe
Eğer bir prosedur altında birden fazla kullandığınız için kısaltmak istiyorsanız aşağıdaki gibi de kısaltılabilir.

Kod:
Sub test()
    Dim MyLookup1 As Variant
    Dim MyLookup2 As Variant

    With WorksheetFunction
        MyLookup1 = .VLookup(var1, range1, var2, False)
        MyLookup2 = .VLookup(var1, range1, var2, False)
    End With
    
End Sub
 
Üst