textbox' a binler ayracı koyma

Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
herkese merhaba,

textbox1' e 1000000 yazdığımı düşünelim.

Daha yazarken her binlik dilime [ . ] konulması mümkün müdür acaba ?

Yazım bittiğinde textbox1' deki görüntünün [ 1.000.000 ] şeklinde olmasını istiyorum.

teşekkürler, iyi çalışmalar..
 
Katılım
28 Eylül 2007
Mesajlar
3
Excel Vers. ve Dili
2003 türkce
herkese merhaba,

textbox1' e 1000000 yazdığımı düşünelim.

Daha yazarken her binlik dilime [ . ] konulması mümkün müdür acaba ?

Yazım bittiğinde textbox1' deki görüntünün [ 1.000.000 ] şeklinde olmasını istiyorum.

teşekkürler, iyi çalışmalar..
yapmak istediğin hücrede sağ tıkla hücre bicimledirin içersinde sayı sekmesinde sayıyı işaretleyince 1000 ayrıcının yanına tik atman gerekiyor.
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
yapmak istediğim şey hücrede değil, textbox' da -daha rakamı yazarken- binler ayracı koymak.
 

Korhan Ayhan

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

1. Çözüm;

Kod:
Private Sub TextBox1_Change()
    Dim X As Integer
    With TextBox1
    If Left(.Value, 1) = "," Then .Value = "0,"
    If Left(.Value, 1) = "0" Then
    .MaxLength = 4
    Else
    .MaxLength = 19
    X = InStr(.Value, ",")
    If X = 0 Then X = Len(.Value) + 1
    Biçim = Format(Left(.Value, X - 1), "###,###")
    .Value = Biçim & Left(Right(.Value, Len(.Value) - X + 1), 3)
    If .Value = "" Then .Value = ""
    End If
    End With
End Sub
2. Çözüm;

Kod:
Private Sub TextBox1_Change()
    On Error Resume Next
    Dim X As Currency
    X = Replace(TextBox1, ",", "")
    X = Replace(X, ".", "")
    
    If IsNumeric(X) = False Then
    TextBox1 = "0"
    ElseIf X < 10 Then
    TextBox1 = "0,0" & X * 1
    ElseIf X < 100 Then
    TextBox1 = "0," & X * 1
    ElseIf X < 1000 Then
    
    If Mid(X, 1, 1) = 0 Then
    TextBox1 = Mid(X, 2, 1) & "," & Right(X, 2)
    End If
    
    If Mid(Right(TextBox1, 2), 1, 1) = "," Then
    TextBox1 = Mid(X, 1, 1) & "," & Right(X, 2)
    End If
    
    If TextBox1 Like "*,*" = False Then
    TextBox1 = Mid(X, 1, 1) & "," & Right(X, 2)
    End If
    
    ElseIf X < 10000 Then
    TextBox1 = Mid(X, 1, 2) & "," & Right(X, 2)
    ElseIf X < 100000 Then
    TextBox1 = Mid(X, 1, 3) & "," & Right(X, 2)
    ElseIf X < 1000000 Then
    TextBox1 = Mid(X, 1, 1) & "." & Mid(X, 2, 3) & "," & Right(X, 2)
    ElseIf X < 10000000 Then
    TextBox1 = Mid(X, 1, 2) & "." & Mid(X, 3, 3) & "," & Right(X, 2)
    ElseIf X < 100000000 Then
    TextBox1 = Mid(X, 1, 3) & "." & Mid(X, 4, 3) & "," & Right(X, 2)
    ElseIf X < 1000000000 Then
    TextBox1 = Mid(X, 1, 1) & "." & Mid(X, 2, 3) & "." & Mid(X, 5, 3) & "," & Right(X, 2)
    ElseIf X < 10000000000# Then
    TextBox1 = Mid(X, 1, 2) & "." & Mid(X, 3, 3) & "." & Mid(X, 6, 3) & "," & Right(X, 2)
    Else
    TextBox1 = Mid(X, 1, 3) & "." & Mid(X, 4, 3) & "." & Mid(X, 7, 3) & "," & Right(X, 2)
    End If
End Sub
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
gecenin bu saatinde g&#246;sterdi&#287;in yard&#305;mseverlik ve harcad&#305;&#287;&#305;n emek i&#231;in te&#351;ekk&#252;r ederim cost_control..

ilk &#231;&#246;z&#252;m m&#252;kemmel oldu. eline sa&#287;l&#305;k.. iyi geceler...
 
Katılım
7 Mart 2005
Mesajlar
31
Merhaba,

Eğer sadece tam sayı değerleri girecekseniz aşağıdaki kodlar alternatif olabilir.
Kod:
Private Sub TextBox1_Change()
    TextBox1 = Format(Replace(TextBox1, ",", ""), "#,###")
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
te&#351;ekk&#252;rler explorer.

change olay&#305;na yaz&#305;lan kod, ger&#231;ekten i&#351;imi &#231;ok k&#305;saltt&#305;. Ancak key press olay&#305;na yaz&#305;lan &#231;al&#305;&#351;mad&#305;.

iyi geceler..
 
Üst