• DİKKAT

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

Düşeyara Makro "Run Time error 1004" hatası

  • Konbuyu başlatan Konbuyu başlatan achil19
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Eylül 2015
Mesajlar
71
Excel Vers. ve Dili
2010 - Türkçe
Günaydın herkese,
Sitedeki kullanıcı arkadaşların yardımı ile makroyu yeni yeni öğreniyorum :)
Düşeyara ile ilgili bir makro yazdım fakat, hata veriyor.
Sürekli "Run Time error 1004" hata uyarısı alıyorum.
nedenini bulamadım. Bilen birisinin 5 saniyede çözeceği bir şeydir muhtemelen :)
Yardımcı olabilir misiniz lütfen.
Şimdiden herkese çok teşekkürler

Yazdığım kod

Sub Calisma()
For X = 2 To 394
Sheets("GÜNLÜK VERİ").Cells(X, "I") = WorksheetFunction.VLookup(Sheets("GÜNLÜK VERİ").Cells(X, "A"), Sheets("CEY").Range("A:B"), 2, 0)
Next X
End Sub

Çalışma dosyam aşağıdaki linktedir

https://drive.google.com/open?id=0B6jo34yj3V6rbDUtWmRGTTN0eGs
 
Daha sağlıklı olması için bunu deneyiniz.

Kod:
Sub Calisma()
'For X = 2 To 394
'Sheets("GÜNLÜK VERİ").Cells(X, "I") = WorksheetFunction.VLookup(Sheets("GÜNLÜK VERİ").Cells(X, "A"), Sheets("CEY").Range("A:B"), 2, 0)
'Next X
For Each bul In Sheets("GÜNLÜK VERİ").Range("A2:A394")
Set b = Sheets("CEY").Range("A:B").Find(Sheets("GÜNLÜK VERİ").Cells(bul.Row, "A"))
If Not b Is Nothing Then
Sheets("GÜNLÜK VERİ").Cells(bul.Row, "I") = Sheets("CEY").Cells(b.Row, "b")
End If
Next
MsgBox "Aktarma Bitti.", vbInformation
End Sub
 
Merhaba Vardar hocam. Kodunuz biraz bana karışık geldi. daha çok yeniyim.
For Each komutu neye yarıyor
If Not b Is Nothing Then ne amaçla kullanıldı?
Rica etsem ikisi hakkında bilgi verebilir misiniz
 
Merhaba,

Bulamadığı zaman hata alıyorsunuz, kodlarınızı aşağıdaki şekilde kullanınız.

Kod:
Sub Calisma()

    [COLOR="Red"]On Error Resume Next[/COLOR]
    For X = 2 To Sheets("GÜNLÜK VERİ").Cells(Rows.Count, "A").End(3).Row
        Sheets("GÜNLÜK VERİ").Cells(X, "I") = _
        WorksheetFunction.VLookup(Sheets("GÜNLÜK VERİ").Cells(X, "A"), Sheets("CEY").Range("A:B"), 2, 0)
    Next X
    
End Sub

Not: Bence FIND komutunu kullanmayı öğrenin. Sayın Vardar07 'nin kodlarını da inceleyiniz.

Kodları inceleyiniz.

Kod:
Sub Calisma()

    Dim Sg  As Worksheet, _
        Sc  As Worksheet, _
        c   As Range, _
        i   As Long
    
    Set Sg = Sheets("GÜNLÜK VERİ")
    Set Sc = Sheets("CEY")
    
    Sg.Range("I:I").ClearContents
    
    For i = 2 To Sg.Cells(Rows.Count, "A").End(3).Row
        
        Set c = Sc.Range("A:A").Find(Sg.Cells(i, "A"), LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then Sg.Cells(i, "I") = Sc.Cells(c.Row, "B")
        
    Next i
    
End Sub
 
Çok teşekkürler Necdet bey
Yazdığım kodun hatasını şimdi anladım
 
Geri
Üst