• DİKKAT

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

Kural Denetimi

Katılım
3 Mart 2016
Mesajlar
15
Excel Vers. ve Dili
2010 İngilizce
Merhabalar,

A sütunundaki hücreleri aşağıdaki kuralara göre kontrol eden ve kurallara uymayan satırları bulup, o satırların satır numaralarını uyarı ekranı çıkararak gösteren bir makroya ihtiyacım var.

Kurallar:
-Hücrenin ilk 3 karakteri rakam olmalı.(000 hariç)
-4.karakter "-" olmalı
-5.karakter "-" ise 6 ve 7.karakter AB olmalı, değilse 6 ve 7.karakterler CD veya FG olmalı
-Yukardaki kurallar hücre içindeki (eğer varsa) # işaret/işaretlerinden sonra sanki yeni bir hücreymiş gibi onlarada uygulansın.(Örn:#'den sonraki 4.karakter - olmalı)
 
Merhaba.

Örnek belge yükleyerek destek istemenizin sonuca ilaşmanızı hızlandıracağını düşünüyorum.
Yine de aşağıdaki kod'u bir deneyin isterseniz.
(Kod'da hücre içerisindeki # ve / işaretlerine yönelik bir kısım yok,
sadece hücrede yazılı değerin ilk 7 karakterine yönelik birşeyler yaptım.
)

Aşağıdaki kod'u, alt taraftan uygulamayı kullanmak istediğiniz sayfanın adına fareyle sağ tıklayıp
KOD GÖRÜNTÜLEyi seçtiğinizde açılan VBA ekranının sağ tarafındaki boş alan yapıştırın ve çalıtırın.

Birinci satırın başlık satırı olduğunu düşünerek, kontrol edilecek verilerin 2'nci satırdan başladığını varsaydım.
.
Kod:
[FONT="Arial Narrow"]Sub KURALLAR()
For satır = [B][COLOR="blue"]2[/COLOR][/B] To [A65536].End(3).Row
    If Cells(satır, 1) = "" Then GoTo 10
        If IsNumeric(Mid(Cells(satır, 1), 1, 3)) = False Or Mid(Cells(satır, 1), 1, 3) < 0 Then
            MsgBox satır & " numaralı satırda ilk 3 karakter sayı DEĞİL"
            GoTo 10
        ElseIf Mid(Cells(satır, 1), 4, 1) <> "-" Then
            MsgBox satır & " numaralı satırda 4'üncü karakter '' - '' DEĞİL"
            GoTo 10
        ElseIf Mid(Cells(satır, 1), 5, 1) = "-" And Mid(Cells(satır, 1), 6, 2) <> "AB" Then
            MsgBox satır & " numaralı satırda 6 ve 7'inci karakterler ''AB'' DEĞİL"
            GoTo 10
        ElseIf Mid(Cells(satır, 1), 5, 1) <> "-" And _
            Mid(Cells(satır, 1), 6, 2) <> "CD" Or Mid(Cells(satır, 1), 6, 2) <> "FG" Then
            MsgBox satır & " numaralı satırda 6 ve 7'inci karakterler ''CD'' veya ''FG'' DEĞİL"
            GoTo 10
    End If
10: Next
End Sub[/FONT]
 
selam,
alternatif cevap olarak
eki inceleyiniz...
 
Son düzenleme:
Geri
Üst