Soru WorksheetFunction sınıfının VLookup özelliği alınamıyor

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
XML:
    If Application.WorksheetFunction.VLookup(Sayfa2.Range("A3"), Sayfa1.Range("A1:AR7"), 2, 0) = Empty Or 0 Then Exit Sub
Yıkarıdaki formulde WorksheetFunction sınıfının VLookup özelliği alınamıyor hatası alıyorum.

Bunu şu şekilde yazıyım dedim

XML:
Set hucre = Application.WorksheetFunction.VLookup(Sayfa2.Range("A3"), Sayfa1.Range("A1:AR7"), 2, 0)
    If hucre = "" or 0 Then Exit Sub
dediğimde Variable not defined diyor...

Demek istediğim A3 hücresini tabloda A1:AR7 aralığında 2. sütunda ara eğer boş veya sıfır ise makrodan çık... Bu kadar basit bişeyi yapamıyorum :)
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
böyle denedim

XML:
Dim hucre As WorksheetFunction

hucre = Application.WorksheetFunction.VLookup(Sayfa2.Range("A3"), Sayfa1.Range("A1:AR7"), 2, 0)

If hucre Is Nothing Then Exit Sub
hucre değeri nothing çıkıyor ama kod yine çalışmadı..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,535
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Faydalı olabilir..

 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
XML:
satir = Application.Match(Sayfa2.Range("A3"), Sayfa1.Range("B2:B7"), 0)
a = Application.CountA(Sayfa1.Range("A"&satir&":AR44"))

Teşekkür ederim. Bu sefer de range veya cell kullanarak bağdeğerdolusay komutunu çalıştıramadım..
XML:
a = Application.CountA(Sayfa1.Range("A"&satir&":AR44"))
Syntax error hatası veriyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,535
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Neden hepsini değiştirdiniz?
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
a = Application.CountA(Sayfa1.Range(Cells(satir, 1), Cells(satir, 43)))

kodunda a nothing olarak hata veriyor sebebi nedir... Ben satir =2 ise 2 den 43 e kadar dolu hücre sayısını yazdırmak istiyorum. bunda ne hata var anlamıyorum.
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Neden hepsini değiştirdiniz?
Bilgisizlikten bütün tuşlara basıyorum deneme yanılma ile... ve kafayı sıyırcam alt tarafı hücrede yazan değerin diğer sayafadaki tabloda kaçıncı satıra denk geldiğini bulup o satırdaki dolu hücre sayısını belirlemek... bu kadar basit bir işlemi yaptırmaıyorum
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,222
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
doğru yazım şekli
a = Application.CountA(Sayfa1.Range(Sayfa1.Cells(satir, 1), Sayfa1.Cells(satir, 43)))

a = Application.CountA(Sayfa1.Range("A" & satir & ":AQ" & satir))
******************************************
Dim satir As Variant
Dim a As Long

satir = Application.Match(Sayfa2.Range("A3"), Sayfa1.Range("B2:B7"), 0)

If Not IsError(satir) Then

With Sayfa1
a = Application.CountA(.Range(.Cells(satir, 1), .Cells(satir, 43)))
End With

MsgBox "Dolu hücre sayısı: " & a
Else
MsgBox "Aranan değer bulunamadı!"
End If

**********************************************
Application.Match fonksiyonu B2:B7 aralığında arama yaptığında, değer B2 hücresindeyse sonuç olarak 1 döndürür. Ancak siz 2. satırı saymak istiyorsanız, gerçek satır numarasını bulmak için sonucun üzerine aralığın başladığı satır farkını eklemelisiniz.
Eğer satir değişkeni gerçek sayfa satır numarasını (2 gibi) temsil etmiyorsa, CountA yanlış satırı sayacaktır.
 
Üst