• DİKKAT

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

for next hatası nerede ?

musculus2

Altın Üye
Altın Üye
Katılım
23 Şubat 2007
Mesajlar
112
Excel Vers. ve Dili
2010 türkçe
Benim kayıtlı 4000 kişi var.Ve aylık olarak bana isimleri verilen 20-30 kişinin bu listede olduğunu konbtrol etmek için yazmaya çalıştığım makroda for next döngüsü hata veriyor .Ama aynı döngü isimleri büyük harflerle yazdırmaya çalıştığımda hata vermiyor.Nerede yanlış yapıyorum ?
Ve bu programı çalıştırabilirmiyiz
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
'Makromuza isim veriyoruz.
Sub ARAMA()
    'Sayfa isimlerini kısaltılmış sabitlere atıyoruz.
    Set S1 = Sheets("Sayfa1")
    'Sayfa isimlerini kısaltılmış sabitlere atıyoruz.
    Set S2 = Sheets("Sayfa2")
    'Sayfa2'deki A ve B sütunlarındaki alanı temizliyoruz.
    S2.[A:B].ClearContents
    'Döngüde kullanmak üzere satırı ifade eden SATIR isimli bir değişken tanımlıyoruz.
    SATIR = 1
    'X isimli bir döngü başlatıyoruz. Bu döngü F sütunundaki son dolu hücreye kadar devam edecek.
    For X = 1 To S1.[F65536].End(3).Row
    'Y isimli bir döngü başlatıyoruz. Bu döngü B sütunundaki son dolu hücreye kadar devam edecek.
    For Y = 1 To S1.[B65535].End(3).Row
    'Sayfa1'deki B-C sütunlarındaki veriyi F-G sütunlarındaki veri ile karşılaştırıyoruz.
    If Cells(X, 6) = Cells(Y, 2) And Cells(X, 7) = Cells(Y, 3) Then
    'Eğer üstteki koşul sağlanıyorsa Sayfa2'deki A-B sütunlarına listede bulunan kayıtlar aktarılıyor.
    S2.Range("A" & SATIR) = Cells(X, 6)
    S2.Range("B" & SATIR) = Cells(X, 7)
    'Döngünün devamında uyan kayıtları aktarırken aynı satır üzerine yazmaması için SATIR isimli değişkeni 1 arttırıyoruz.
    SATIR = SATIR + 1
    'Uyan kayıtları kontrol etmek için kullandığımız şartı sonlandırıyoruz.
    End If
    'Kayıtların tamamını kontrol etmek için döngüye devam ediyoruz.
    Next: Next
    'Hafızaya aldığımız sayfa isim kısaltmalarını hafızadan siliyoruz.
    Set S1 = Nothing
    Set S2 = Nothing
    'İşlemin tamamlandığına dair kullanıcıya bilgi mesajı veriyoruz.
    MsgBox "ARAMA İŞLEMİ TAMAMLANMIŞTIR.", vbInformation
    'Makromuzu sonlandırıyoruz.
End Sub
 
Son düzenleme:
TeŞekkÜr

Ellerine ve bilgilerine sağlık.Teşekkür ederim.
 
çok güzel olmuş ama bendeki kodların neden çalışmadığını anlayamadım
sizin kodları olduğu gibi yapıştırdığımda çalışıyor ama bende ki kodlar şimdide if then sorgusunda hata veriyor nerde hata yapıyorum ?
 
tekrar deneyebilirmiyiz

üzgünüm ama erken cevap verdim makro hatasız çalışınca dikkatsiz davrandım ama yazılan kodlarda F sutununa ne yazarsam yazayım 2.sayfada yazıyor yani arama yapmıyor
 
ne olduğunu anlamıyorum

program hatalı da olsa makroyu F5 le çalıştırınca x ve y değerleri sıralıyor ama isimleri yazmıyor düğmeye makroyu atayıp düğmeyi tıkladığımda ise tüm isimleri listeliyor kontrol etmiyor ve x y değerleri ni yanlış olarak listeliyor ? ? ? ? ? ?
 
Selamlar,

Tam olarak ne yapmak istediğinizi açıklarsanız ona göre çözüm önerebiliriz.
 
Merhaba
Benim yapmak istediğim ilk sorumda olduğu gibi listemde kayıtlı 4000 kişi var

ve bana bilidirilen 30-40 ismin bu kişiler arasında olup olmadığına bakmak istiyorum,eğer varsa sayfa 2 de bunları listelemesini istiyorum yapmak istediğim ana şey bu
diğer uğraşılarım hatalarımın nerede olduğunu anlamaya ve program mantığını öğrenmeye yönelikti .
 
Selamlar,

Hata F sütununda bulunan verilerinizde. İsimlerin sonlarında boşluk karakteri bulunuyor. Bunları kaldırıp denermisiniz.

Ayrıca üstteki mesajımdaki kodu güncelledim. İncelermisiniz.
 
Selamlar

Teşekkür edrim program çok güzel çalışıyor peki ben nerelerde hata yaptım da kodlar çalışmadı ?
 
Geri
Üst