• DİKKAT

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

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..
 
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.
 
yapmak istediğim şey hücrede değil, textbox' da -daha rakamı yazarken- binler ayracı koymak.
 
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
 
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...
 
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
 
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..
 
Geri
Üst