IBAN biçimlendirme ve doğrulama Yardım.

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhabalar.
IBANI hücreye TR00 0000 0000 0000 0000 0000 00 şeklinde 26 haneli olarak İsteğe uyarlanmış olan yerden ayarladım. (T\R##" "####" "####" "####" "####" "####" "##) ancak son 9 rakamını "0"a dönüştürüyor.
Bir de ibanı hücreye yanlış girmemek için koşullu biçimlendirme yapılabilir mi? 26 haneden az veya çok sayıda rakam girildiğinde biçim değiştirsin veya veri doğrulamadan da yapıla bilirse oarda hata mesajı falan da yazdırılabiliyor sanırım.
 
Katılım
22 Mayıs 2014
Mesajlar
125
Excel Vers. ve Dili
2013 türkçe
iban girilecek hücreleri seçin ve üst menüden veri-veri doğrulama-izin verilen: "metin uzunluğu" veri:"eşit" uzunluk:32 girerek yapabilirsiniz. hata uyarısı kısmındanda uyarıları düzenleyebilirsiniz. (32 boşluklar dahil iban karakter sayısıdır. eğer boşluksuz girmek isterseniz 26 yapın)
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
iban girilecek hücreleri seçin ve üst menüden veri-veri doğrulama-izin verilen: "metin uzunluğu" veri:"eşit" uzunluk:32 girerek yapabilirsiniz. hata uyarısı kısmındanda uyarıları düzenleyebilirsiniz. (32 boşluklar dahil iban karakter sayısıdır. eğer boşluksuz girmek isterseniz 26 yapın)
Merhaba, önerinizi aynen uyguladım oldu fakat benim biçimlendirmiş olduğum hücrede olmuyor malesef. Mesela A1 hücresini hücre biçimlendirden isteğe bağlı olarak T\R##" "####" "####" "####" "####" "####" "## gibi yaptım. Hücreye sadece 24 tane "1" rakamı girdiğimde (araya boşluk bırakmadan) TR11 1111 1111 1111 1000 0000 00 olarak araya otomatik boşluk bırakıyor. İstediğim bu boşluğu bıraktırmak ve ve bahsettiğiniz doğrulmayı yaptırmak. Ama bunu sizin vermiş olduğunuz yöntemle çözemedim. Normal hücreye herhangi bir biçimlendirme yapmadan bahsettiğiniz işlemi yaptığımda oluyor. Mesela A2 hücresine hiçbir biçimlendirme yapmadan direk 26 haneli (TR dahil) iban numarasını girdiğimde oluyor.
 
Son düzenleme:

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Bir de iban numarasının son 9 rakamı neden "0" olarak dönüştürüyor onuda anlamadım.
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhaba, koşullu biçimlendirmede formül bölümüne şu formülü nasıl yazabilirim. Eğer uzunluk 24 karaktrden farklı ise uyarı ver veya farklı renge boya.
 
Katılım
1 Haziran 2014
Mesajlar
355
Excel Vers. ve Dili
Ofis 2010-Türkçe
Merhaba sayın ilmtrz;
İBAN No.sunun A2 de olduğunu varsayarsak,
Koşullu biçimlendirme Formül çubuğuna

=UZUNLUK(A2)=24
Bu kodu yazadıktan sonra istediğiniz dolgu renginide girerek Tamam a basın sanırım olur. Ancak bu numarayı istenilen şekilde bende yazdıramadım.
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhaba, ben hücre biçimlendirmeden araya boşluk eklettirdim. Mesela A1 hücresini seçtikten sonra sağ buton, hücreleri biçimlendir, katagori bölmesinden isteğe uyarlanmış seçildikten sonra tür katagorisi satırına T\R##" "####" "####" "####" "####" "####" "## yazıp tama dedim. iban numarası TR11 1111 1111 1111 1000 0000 00 araya boşluk konularak oluşturuluyor.Burada 1. sorun bu iban numarasının son 9 rakamı 0 olarak otomatik çeviriyor. 2 sorun da veri doğrulama yaptıramıyorum. Sayın Aliveli06 beyfendinin dediğini yaptım oldu ama benim biçimlendirmiş olduğum hücrede olmuyor. Bu işlem sadece harfle girilen hücrelede geçerli. Girile hücreyi metne çevirirsem oluyor ama arada boşluk olmuyor. :(
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,530
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.

B sütununun 2. satırından itibaren kontrol eder.
Siz kendinize göre uyarlayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Son
    If Intersect(Target, [B:B]) Is Nothing Or _
        Target.Row < 2 Or _
        Target.Value = "" Then Exit Sub
    
    Application.EnableEvents = False
    With Target
        .Interior.ColorIndex = xlNone
        .Font.ColorIndex = 1
        .Font.Bold = False
    End With

    Dim IBAN, iban1
    Target.Value = Trim(Replace(Target.Value, " ", ""))
    IBAN = Target.Value
        
    If Len(IBAN) < 1 Then End
    If Len(IBAN) <> 26 Then
        MsgBox "Girdiğiniz numara " & Len(IBAN) & " hanedir " & Chr(10) & "Türk Bankaları için IBAN numarası 26 haneli bir numaradır.", , " IBAN Numaranız Yanlış"
        Target.Select
        Exit Sub
    End If
    
    IBAN = Right(IBAN, 22) & Left(IBAN, 4)
    IBAN = Replace(IBAN, "A", 10)
    IBAN = Replace(IBAN, "B", 11)
    IBAN = Replace(IBAN, "C", 12)
    IBAN = Replace(IBAN, "D", 13)
    IBAN = Replace(IBAN, "E", 14)
    IBAN = Replace(IBAN, "F", 15)
    IBAN = Replace(IBAN, "G", 16)
    IBAN = Replace(IBAN, "H", 17)
    IBAN = Replace(IBAN, "I", 18)
    IBAN = Replace(IBAN, "J", 19)
    IBAN = Replace(IBAN, "K", 20)
    IBAN = Replace(IBAN, "L", 21)
    IBAN = Replace(IBAN, "M", 22)
    IBAN = Replace(IBAN, "N", 23)
    IBAN = Replace(IBAN, "O", 24)
    IBAN = Replace(IBAN, "P", 25)
    IBAN = Replace(IBAN, "Q", 26)
    IBAN = Replace(IBAN, "R", 27)
    IBAN = Replace(IBAN, "S", 28)
    IBAN = Replace(IBAN, "T", 29)
    IBAN = Replace(IBAN, "U", 30)
    IBAN = Replace(IBAN, "V", 31)
    IBAN = Replace(IBAN, "W", 32)
    IBAN = Replace(IBAN, "X", 33)
    IBAN = Replace(IBAN, "Y", 34)
    IBAN = Replace(IBAN, "Z", 35)
        
    iban1 = Left(IBAN, 4) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 5, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 7, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 9, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 11, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 13, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 15, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 17, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 19, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 21, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 23, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 25, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 27, 2)) Mod 97
    
        If iban1 = 1 Then
            Target.Value = Left(Target.Value, 4) & " " & _
                          Mid(Target.Value, 5, 4) & " " & _
                          Mid(Target.Value, 9, 4) & " " & _
                          Mid(Target.Value, 13, 4) & " " & _
                          Mid(Target.Value, 17, 4) & " " & _
                          Mid(Target.Value, 21, 4) & " " & _
                          Mid(Target.Value, 25, 2)
        Else
            With Target
                .Interior.ColorIndex = 3
                .Font.ColorIndex = 2
                .Font.Bold = True
            End With
        End If
Son:
    Application.EnableEvents = True
    
End Sub
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp deneyiniz.

B sütununun 2. satırından itibaren kontrol eder.
Siz kendinize göre uyarlayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Son
    If Intersect(Target, [B:B]) Is Nothing Or _
        Target.Row < 2 Or _
        Target.Value = "" Then Exit Sub
    
    Dim IBAN, iban1
    IBAN = Replace(Target.Value, " ", "")
        
    If Len(IBAN) < 1 Then End
    If Len(IBAN) <> 26 Then
        MsgBox "Girdiğiniz numara " & Len(IBAN) & " hanedir " & Chr(10) & "Türk Bankaları için IBAN numarası 26 haneli bir numaradır.", , " IBAN Numaranız Yanlış"
        Target.Select
        Exit Sub
    End If
    
    IBAN = Right(IBAN, 22) & Left(IBAN, 4)
    IBAN = Replace(IBAN, "A", 10)
    IBAN = Replace(IBAN, "B", 11)
    IBAN = Replace(IBAN, "C", 12)
    IBAN = Replace(IBAN, "D", 13)
    IBAN = Replace(IBAN, "E", 14)
    IBAN = Replace(IBAN, "F", 15)
    IBAN = Replace(IBAN, "G", 16)
    IBAN = Replace(IBAN, "H", 17)
    IBAN = Replace(IBAN, "I", 18)
    IBAN = Replace(IBAN, "J", 19)
    IBAN = Replace(IBAN, "K", 20)
    IBAN = Replace(IBAN, "L", 21)
    IBAN = Replace(IBAN, "M", 22)
    IBAN = Replace(IBAN, "N", 23)
    IBAN = Replace(IBAN, "O", 24)
    IBAN = Replace(IBAN, "P", 25)
    IBAN = Replace(IBAN, "Q", 26)
    IBAN = Replace(IBAN, "R", 27)
    IBAN = Replace(IBAN, "S", 28)
    IBAN = Replace(IBAN, "T", 29)
    IBAN = Replace(IBAN, "U", 30)
    IBAN = Replace(IBAN, "V", 31)
    IBAN = Replace(IBAN, "W", 32)
    IBAN = Replace(IBAN, "X", 33)
    IBAN = Replace(IBAN, "Y", 34)
    IBAN = Replace(IBAN, "Z", 35)
        
    iban1 = Left(IBAN, 4) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 5, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 7, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 9, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 11, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 13, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 15, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 17, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 19, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 21, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 23, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 25, 2)) Mod 97
    iban1 = Val(iban1 & Mid(IBAN, 27, 2)) Mod 97
    
        If iban1 = 1 Then
            Target.Value = Left(Target.Value, 4) & " " & _
                          Mid(Target.Value, 5, 4) & " " & _
                          Mid(Target.Value, 9, 4) & " " & _
                          Mid(Target.Value, 13, 4) & " " & _
                          Mid(Target.Value, 17, 4) & " " & _
                          Mid(Target.Value, 21, 4) & " " & _
                          Mid(Target.Value, 25, 2)
        Else
            With Target
                .Interior.ColorIndex = 3
                .Font.ColorIndex = 2
                .Font.Bold = True
            End With
        End If
Son:
End Sub
Merhaba sayın Necdet Yeşertener, vermiş olduğunuz kodda her 4 haneden sonra boşluk bıraktırabilirmiyiz? Bir de 26 hane girildikten sonra biçimlendirme olmazsa daha iyi olur. Yardımınız için teşekkürler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,530
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba sayın Necdet Yeşertener, vermiş olduğunuz kodda her 4 haneden sonra boşluk bıraktırabilirmiyiz? Bir de 26 hane girildikten sonra biçimlendirme olmazsa daha iyi olur. Yardımınız için teşekkürler.
Siz TR ile birlikte IBAN'ı yazıyorsunuz, yazdığınız numara doğru ise 4 er 4 er ayırıyor.

Denemediniz mi?
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Renklendirme seçenekleri için kodda
Kod:
Else
            With Target
                .Interior.ColorIndex = 3
                .Font.ColorIndex = 2
                .Font.Bold = True
            End With
bölümünü sildim umarım yanlış yapmamışımdır.
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhaba, 26 haneli IBAN numarasını soldan başlamak üzere dörderli dörderli bölmenin bir formülünü yazabilir miyiz?
 
Katılım
22 Mayıs 2014
Mesajlar
125
Excel Vers. ve Dili
2013 türkçe
26 haneli iban numarasının a2 hücresine yazılı olduğu varsayılmıştır. Siz kendinize göre A2 yazan yerleri değiştiriniz.
Kod:
=SOLDAN([COLOR="Red"]A2[/COLOR];4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];5;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];9;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];13;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];17;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];21;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];25;2)
 
Son düzenleme:

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
26 haneli iban numarasının a2 hücresine yazılı olduğu varsayılmıştır. Siz kendinize göre A2 yazan yerleri değiştiriniz.
Kod:
=SOLDAN([COLOR="Red"]A2[/COLOR];4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];5;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];9;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];13;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];17;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];21;4)&" "&PARÇAAL([COLOR="red"]A2[/COLOR];25;2)
Teşekkürler aliveli06. Şimdi oldu bu iş.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,530
Excel Vers. ve Dili
Ofis 365 Türkçe
Evet. B2 hücresine TR111111111111111111111111 (24 tane 1)giriyorum. Kırmızı zemin üzerine beyaz yazıyor sadece. Araya boşluk koymuyor. Acaba bir yerde hata mı yapıyorum.

http://s3.dosya.tc/server27/HPFASJ/Kitap1.rar.html
Ezbere IBAN numarası girmeyin, doğru numara girin istediğiniz olacaktır.
Size verdiğim kodlar hem numaranın doğru yazılıp yazılmadığını kontrol eder hemde gösterimini yapar.

Ciddi numara girin. Bunu bir kez daha tekrarlayım mı?
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Merhaba aşağıdaki dosyada ikramiye hesaplaması ile ilgili bir tablo oluşturdum ancak tam yapamadığım bir şey var. Örnekte 8 kişi ikramiye alacak ben bunu gerekli sütunlarda satırsay formülünü kullandım ama 15 tane satır olduğu için toplam ikramiyeyi 15'e böldü. Aşağıdaki satırları silersem istediğim gibi oluyor ama satırları silmeden başka bir formül ile 8'e böldürebilir miyiz? Aşağıdaki satırlar boş kalsın istiyorum.
http://www.upload.gen.tr/d.php/www/apatM/IKRAMIYE-ORNEK.xlsx.html
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,530
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın ilmtrz,

Farklı konular için yeni konu açın.
 

ilmtrz

Altın Üye
Katılım
27 Aralık 2012
Mesajlar
245
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
05-10-2025
Tabloda 9 uncu satıra bir kişi daha eklenirse de 9'a bölsün.
 
Üst