Yanında 0 sayısı olmayan tek haneli sayılara sıfır koydurmak ?

Katılım
10 Haziran 2007
Mesajlar
48
Excel Vers. ve Dili
exel 2007 türkçe
sevgili arkadaşar yanında 0 (sıfır) sayısı olmayan tek haneli sayılara otomatik bir şekilde 0(sıfır) getirebilirmiyiz mesela 150.01.01.2.3 sadece 2.3 ün önüne 0 (sıfır) gelemsini istiyorum sayılar faklı olabilir 1-9 a kadar yanıda sıfır olanlara birşey yapmasın sevgi ve saygılarımla...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek bir dosya eklermisiniz. Görmek istediğiniz sonucuda eklerseniz daha faydalı olacaktır.
 
Katılım
10 Haziran 2007
Mesajlar
48
Excel Vers. ve Dili
exel 2007 türkçe
hocam A sutununda 150.01.01.1.2
Ben Bunun 150.01.01.01.02 olmasını istiyorum
Sadece tek haneli ve yanında sıfır olmayanın yanına 0 koysun sevgiler saygılar
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Biçimlendireceğiniz hücreleri seçin, Sağ klik Hücreleri Biçimlendir/ İsteğe Uyarlanmış
Sekmesinde Tür kutusuna

000.00.00.00.00

Yazın Tamam deyin.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,258
Excel Vers. ve Dili
Ofis 365 Türkçe
hocam A sutununda 150.01.01.1.2
Ben Bunun 150.01.01.01.02 olmasını istiyorum
Sadece tek haneli ve yanında sıfır olmayanın yanına 0 koysun sevgiler saygılar

peki bu sütunda 150.1.1.1.2 olarak girilirse?

Sadece son iki kırılmayı mı dikkate almak gerek, yoksa her noktadan sonra 2 hane var mı yok mu diye kontrol etmeli? Soru açık olmayınca arkadaşlar sanırım sustular
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki gibi bir fonksiyon işinizi görür sanırım, sayfada nasıl kullanacağınız da size kalmış.
Kod:
Sub dene()
    MsgBox FormatKontrol("150.01.01.1.2")
End Sub

Function FormatKontrol(Giris)
If InStr(Giris, ".") = 0 Then GoTo atla

veriler = Split(Giris, ".")
For Each elem In veriler
    If Not IsNumeric(elem) Then GoTo atla
    If elem < 10 And elem > 0 And Len(elem) = 1 Then elem = "0" & elem
    yeni = yeni & elem & "."
Next
FormatKontrol = Left(yeni, Len(yeni) - 1)
Exit Function
atla:
FormatKontrol = Giris
End Function
veya a&#351;a&#287;&#305;daki gibi
Kod:
Sub dene1()
    MsgBox FormatKontrol1("150.01.8.1.2")
End Sub

Function FormatKontrol1(Giris)
If InStr(Giris, ".") = 0 Then GoTo atla
veriler = Split(Giris, ".")
For x = 0 To UBound(veriler)
    If Not IsNumeric(veriler(x)) Then GoTo atla
    If veriler(x) < 10 And veriler(x) > 0 And Len(veriler(x)) = 1 Then veriler(x) = "0" & veriler(x)
Next
FormatKontrol1 = Join(veriler, ".")
Exit Function
atla:
FormatKontrol1 = Giris
End Function
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. veyselemre bey cevabınızı vermiş ama alternatif olması açısından aşağıdaki koduda kullanabilirsiniz. Kod düzenlenmiş listeyi B sütununa listeler.

Kod:
Sub SIFIR_EKLE()
    Dim SONUÇ As String
    [B2:B65536].ClearContents
    For X = 2 To [A65536].End(3).Row
    AYIR = Split(Cells(X, 1), ".")
    For Y = 0 To UBound(AYIR)
    If Len(AYIR(Y)) >= 2 Then
    If SONUÇ = "" Then
    SONUÇ = AYIR(Y) & "."
    ElseIf Right(SONUÇ, 1) = "." Then
    SONUÇ = Mid(SONUÇ, 1, Len(SONUÇ) - 1) & "." & AYIR(Y)
    Else
    SONUÇ = SONUÇ & "." & AYIR(Y)
    End If
    ElseIf Len(AYIR(Y)) = 1 Then
    SONUÇ = SONUÇ & "." & Format(AYIR(Y), "00")
    End If
    Next
    Cells(X, 2) = SONUÇ
    SONUÇ = ""
    Next
    MsgBox "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Üst