• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bu makroda hata nerede?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,904
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Merhaba Arkadaşlar,
Kod:
Sub Getir_Gel()
    Dim a, b As Worksheet, x As Integer
        Set a = Sheets("Rapor_Gel")
        Set b = Sheets("Gelir")
        Alan = b.[A3].Text
        a.Select
            For x = 1 To [B4]
                Cells(4 + x, 15) = WorksheetFunction.VLookup(Cells(4 + x, 1), Alan, 6, 0)
            Next x
End Sub
1004 hatası veriyor. Syntax hatası var ama niye? Adımladığınızda Cells(4 + x, 1) doğru geliyor. Alan doğru geliyor. Ama hata veriyor.
Saygılarımla
 
Sayfa tanımlamayı aşağıdaki gibi düzeltin

Dim a As Worksheet , b As Worksheet, x As Integer
 
Sayın Suskun,
İlginize teşekkür ederim. Ama fark etmedi.
Saygılarımla
 

Ekli dosyalar

  • 2020-03-21_22-50-02.png
    2020-03-21_22-50-02.png
    52.8 KB · Görüntüleme: 11
  • 2020-03-21_22-50-37.png
    2020-03-21_22-50-37.png
    6.7 KB · Görüntüleme: 11
Merhaba "Alan" kısmı tek hücreye değilde belirli bir alana başvurması gerekebilir, çünkü belirtilen alanın 6. sütunu diye belirtmişsiniz ama Alan kısmınız sadece A3 hücresi , burayı irdeleyiniz..
 
Düşeyara da ilk sütünun artan sırada sıralı olması gerekir.

Alan=b.range("A3")
olarak text olmadan range özelliği kullanarak deneyiniz.
 
Alan isimli değişkeniniz, tablo veri aralığını gösteren Range nesnesi olarak Set edilmesi gerekiyor.

.
 
Ayrıca VLOOKUP fonksiyonu aranan değeri bulamadığında hata verecektir. Bunu da kontrol altına almanızda fayda var.
 
Sayın Hocalarım,
Her birinize ayrı ayrı teşekkür ederim. İyi ki varsınız.
Fırsat bulmuşken ayıp etmiş olmazsam sorayım;
Alan için değişebilir olması gereken pek çok yerde Range([A3].Text) şeklinde kullandım, burada 1004 hatası verdi.
Cells(4 + x, 15) = WorksheetFunction.VLookup(Cells(4 + x, 1), Alan, 6, 0) bu satıra EĞERHATA( .... ;"") nasıl uygulanır?
Saygılarımla
 
O zaman sizinde belirttiğiniz şekilde Alan tanımlamasını yazmanız gerekiyor.

Kod:
Alan = b.[A3].Text

Olması gereken;

Kod:
Alan = b.Range([A3].Text)
 
İlgilerinize çok teşekkür ederim.
Saygılarımla
 
Ek olarak VBA tarafında HATA kontrolleri için hazırladığım ve 4 farklı örnek verdiğim dosyayı inceleyiniz. Size ve makro öğrenmek isteyen üyelerimize faydası olacaktır.
 

Ekli dosyalar

Sayın Korhan Ayhan Hocam,
İşte bu çok makbule geçti.
Saygılarımla
 
Geri
Üst