• DİKKAT

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

Sütun değerine göre makro çalışması

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
P Sütunu son satırına kadar 30 rakamı var. Eğer arada 30 değerinden düşük rakam varsa makro çalışmadan hatalı satır bilgisi vererek durmalı, A sütununda 2. satırdan itibaren sıra numarası var. Eğer değer doğruysa kendi ekleyeceğim makronun çalışmasını istiyorum. Forumda çok örnek var ama örneklerden kendime uyduramadım kusura bakmayın.
 
Kod buldum işimi kısmen çözdüm ama hatalı olan satır bilgisini koda nasıl ilave edebilirim.
Kod:
Sub Kontrol()
    For sat = 2 To Cells(Rows.Count, "AP").End(3).Row
        If Cells(sat, "AP") = 1 Then
                MsgBox "Hata var..."
        Else:
        End If
    Next
    MsgBox "Kontrol tamamlandı"
End Sub
 
Merhaba,

Verdiğiniz kodlar, AP sütunundaki değer =1 ise "hata var" mesajı verip, kontrole devam ediyor. İstediğiniz sadece mesaj satır numarası eklemekse, mesajı aşağıdakiyle değiştirin.

MsgBox sat & " .Satırda Hata var..."

.
 
Mesajı verip durması gerekir. Demekki yapamamışım düzeltme şansınız varmı acaba.
 
Mesaj satırından sonra

Exit Sub

Ekleyiniz. Yalnız bu şekilde ilk gördüğü mesajdan sonra durur. Diğer satırları kontrol etmez.

Aşağıdaki gibi kullanarak tüm hatalı satırları görebilir siniz. Kullanım amacınıza göre kararı siz verin.
Kod:
Sub Kontrol()
    For sat = 2 To Cells(Rows.Count, "AP").End(3).Row
        If Cells(sat, "AP") = 1 Then
            deg = deg & Chr(10) & sat
        End If
    Next
    If deg = "" Then
        MsgBox "Kontrol Tamamlandı, Hata Yok..": Exit Sub
    End If
    MsgBox deg & Chr(10) & "Satırlarında Hata var..."
End Sub
 
Hocam ekstra olacak ama L sütünunda Adı ve M sütünunda Soyadı yazıyor. Hata mesajına sütundaki isimleri getirebilirmiyiz. Satır bilgisinden daha kullanışlı olacak.
 
Deneyiniz.

MsgBox Cells(sat, "L") & " " & Cells(sat, "M") & " Kişinin Satırında Hata var..."
 
Hocam İsimleri getirmiyor.

Kod:
Sub MUHTASAR_KONTROL()
    For sat = 2 To Cells(Rows.Count, "AP").End(3).Row
        If Cells(sat, "AP") = 1 Then
            deg = deg & Chr(10) & sat
        End If
    Next
    If deg = "" Then
        Call Secili_Alani_Text_Dosyasina_Yaz
        MsgBox "Kontrol Tamamlandı, Hata Yok.. TXT Dosyanız oluşturulmuştur.": Exit Sub
    End If
    MsgBox Cells(sat, "L") & " " & Cells(sat, "M") & " Kişinin Satırında Hata var..."
End Sub
 
Diğer kodlarda kullanacaksınız sandım.
Kod:
Sub MUHTASAR_KONTROL()
    For sat = 2 To Cells(Rows.Count, "AP").End(3).Row
        If Cells(sat, "AP") = 1 Then
            deg = deg & Chr(10) & Cells(sat, "L") & " " & Cells(sat, "M")
        End If
    Next
    If deg = "" Then
        Call Secili_Alani_Text_Dosyasina_Yaz
        MsgBox "Kontrol Tamamlandı, Hata Yok.. TXT Dosyanız oluşturulmuştur.": Exit Sub
    End If
    MsgBox deg & Chr(10) & " Adlı Kişilerin Satırında Hata var..."
End Sub
 
Hocam oldu teşekkürler emeğinize sağlık.
 
Geri
Üst