• DİKKAT

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

makro neden hata veriyor

Katılım
2 Şubat 2007
Mesajlar
194
Excel Vers. ve Dili
Office 2007 Tr
arkadaşlar merhaba

ekteki makroda hata veriyor.bence makro doğru sanki ama anlamadım hatayı.yardımcı olursanız sevinirim.
 

Ekli dosyalar

Çünkü k değeri nothing.
Siz o zaman nothing + n topluyorsunuz.Hata oluşuyor.K nin içinde sayısal bir değer olmalıdır.:cool:
 
Teşekürlerler Evren Bey

Peki nasıl bu hatayi düzeltebiliriz? Size zahmet olmayacaksa yardımcı olurmusunuz.
 
"For n=1 to 5" döngüsünün ne işe yaradığını anlayamadım, bu döngüyü neden kullandığınızı açıklayabilir misiniz?
 
kontrol sayfasında a2 hücresinde faturanın ne zaman düzenlendiği yazmaktadır.muhasebe sayfasında ise hangi tarihlerde işlenmektedir(7 günlük işlenmektedir).yapmak istediğim 07/01/2008 tarihinde düzenlenen fatura 01/01/2008-07/01/2008 tarihler arasında işlenmiştir.muhasebe sayfasında f ve g sutununda belirtilmektedir.benim yapmak istediğim kontrol sayfasına ,muhasebe sayfasında f ve g sununlarını karşılaştırarak kontrol sayfasınını j sutununa muhasebe sayfasının a sutununu getirmesini ve kontrol sayfasının k sutununa muhasebe sayfasından c sutununu getirmesini.n döngüsüne gelinse 7 günlük işlediğimizden 1 gün + 5 gün eder 6 gün ,7'inci gün zaten de var .umarım anlatabilmişimdir.
 
lütfen yardım.yarın raporlarımı yetiştirmem gerekiyor.şimdiden teşekür ederim herkese
 
f ve g sütunlarına göre ayrı ayrı neden kontrol yapıyorsunuz, sadece g sütununa göre kontrol etseniz yeterli gelmiyor mu? Yapmak istediğiniz şey kontrol sayfasındaki tarihlerin muhasebe sayfasındaki f ve g sütunlarındaki hangi tarih aralığına denk geldiğini bulup ona göre işlem yapmak mı?
 
Bu şekilde dener misiniz?
Sub madde_no_tarih_getir_2()
Set s1 = Sheets("KONTROL")
Set s2 = Sheets("muhasebe")
For i = 2 To s1.[a65536].End(3).Row
If s1.Cells(i, "a") <> "" Then
Set m = s2.Range("g2:g65536").Find(s1.Cells(i, "a").Value, LookAt:=xlWhole)
If Not m Is Nothing Then
s1.Cells(i, "j").Value = m.Offset(0, -5)
s1.Cells(i, "k").Value = m.Offset(0, -3)
End If
End If
Next i
End Sub
 
Sayın Janveljan
Eğer kontrol sayfasındaki fatura tarihimiz mesela 03/01/2008 olur ise o zaman makro veri bulamayacak.bu yüzden bem f ve g sutunlarını kontrol etmesini istemiştim
 
İstediğiniz sonucu veren bir çalışma yaptım, bende gayet iyi çalıştı umarım sizde de çalışır.
Kod:
Sub madde_no_tarih_getir_2()
Set s1 = Sheets("KONTROL")
Set s2 = Sheets("muhasebe")
For i = 2 To s1.[a65536].End(3).Row
    For j = 3 To s2.[f65536].End(3).Row
        If CDate(s1.Cells(i, "a")) >= CDate(s2.Cells(j, "f")) And CDate(s1.Cells(i, "a")) <= CDate(s2.Cells(j, "g")) Then
            s1.Cells(i, "j") = s2.Cells(j, "a")
            s1.Cells(i, "k") = s2.Cells(j, "c")
            GoTo json
        End If
    Next j
json:
Next i
End Sub
 
Geri
Üst