• DİKKAT

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

Makro uygulaması...

Katılım
1 Eylül 2007
Mesajlar
387
Excel Vers. ve Dili
2003 Türkçe
Kolay gelsin..
Sn. Veysel Emre'nin örnekteki makrosunu kendi tabloma uyarlıyamadım..
Tabloma T.C. Kimlik No girişi H2 hücresinden itibaren yapılmakta ve sadece yanlış T.C. Kimlik No girilmesini istemekteyim.. (Diğer 9 rakamdan T.C. Kimlik No'ya ulaşan makroya ihtiyaç yoktur..)
 

Ekli dosyalar

Merhaba,
Bu da alternatif olsun.
T.C. Kimlik No kontrol kodları alıntıdır.
 

Ekli dosyalar

Çok teşekkürler..
Birde hatalı girişleri sildiğimde açıklama yerinde kalıyor,bunada çözüm bulursanız çok sevinirim..
 
Sn. dEdE;Sn.fireman64'e cevap ve istek yazarken cevap vermişsiniz bile..Her ikinizden de Allah razı olsun..
 
Arkadaşlar!..
Başka bir tablodan kopyaladığım T.C. Kimlik No'larını kendi tabloma yapıştırdığımda hatalı olanlar (mesela) kırmızıya boyansa!?..
Yapılabilir mi?..
 
Merhaba,
Sayfanın kod bölümünde bulunan kodu aşağıdaki ile değiştirin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
If CheckTCId(Target.Value) = False Then Target.Interior.ColorIndex = 3
End Sub
 
Sn. dEdE kod'u değiştirdim ama başka bir tablodan kopyaladıklarımı ilgili sütuna yapıştırdığımda (debug) hata mesajı çıkıyor tamam dedikten sonra yapıştırdığım her veriyi tek tek tıkladığımda yanlış olanlar kırmızı oluyor..
Verileri yapıştırdıktan sonra H1 hücresine tıklayınca makro çalışsa,yanlışlar kırmızı olsa herhalde daha iyi olacak..
 
Merhaba,
Aşağıdaki şekilde dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H:H]) Is Nothing Then Exit Sub
For i = 2 To 500
    If CheckTCId(Cells(i, "H").Value) = False Then
        Cells(i, "H").Interior.ColorIndex = 3
    Else
        Cells(i, "H").Interior.ColorIndex = xlNone
    End If
    If Cells(i, "H").Value = "" Then Cells(i, "H").Interior.ColorIndex = xlNone
Next
End Sub
 
Sn. dEdE
H sütununda halen 7000 civarında doğrulanmış veri bulunmakta,bundan sonra eklediklerimi kontrol edeceğim ve veri sayımın 15000'i bulması muhtemel..
Kod'ta bulunan 500 sayısını 15000 yaptım ama bu sefer modül içindeki
tmp = Int((CDbl(tcId) / 100)) sarı renk olarak hata verdi..
 
Merhaba,
Sözünü ettiğiniz hata veri sayısından kaynaklanmaz. Çünkü veriler o Functiona teker teker gönderilmektedir. Diğer taraftan 25.000 veri ile yaptığım denemede de bir sorunla karşılaşmadım. Sadece işlem süresi iki saniye kadar sürdü. Dolayısı ile hata ile ilgili net birşey söyleyemiyorum. Ancak rakamların arasında /*\ ? gibi özel karakterler varsa bunlarla sayısal işlem yapılamadığı için olabilir.

Ek:
Kod:
tmp = Int((CDbl([B][COLOR="Red"]tcId[/COLOR][/B]) / 100))
bu satırda sarı hata işareti varken imleci kırmızı işaretlediğim yere getirirseniz hatalı/hataya neden olan kimlik numarasının hangisi olduğunu görebilirsiniz.
 
Son düzenleme:
Bir kaç sorunlu veride harf ve / özel karakter var,hemen onları çıkarıp deniyorum..
 
Kontrollerimde bir hata oluşmadı,teşekkür edip;hayırlı geceler diliyorum..
 
Geri
Üst