• DİKKAT

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

TextBox Para formatı

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,452
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım, işyerinde kullandığım dosya olduğu için örnek dosya koyamadım.
Fotoğrafta olduğu gibi TextBox1'e rakam yazıyorum ve hesaplama yaptırıyorum.
TextBox 2 ve 3 için
Kod:
Private Sub TextBox3_Change()
    TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub
Kullanıyorum ama 1 için olmuyor. Örneğin 1000 yazacağım. 1 yazdığım anda Change olduğu için ₺1.00 çıkıyor ve hata veriyor. Benim yazmam bitince ve "HESAPLA" butonuna basınca₺1.000 çıkması için ne yapmalıyım.
Şimdiden teşekkür ederim.
Saygılarımla.
 

Ekli dosyalar

  • Ekran görüntüsü 2024-12-16 202202.png
    Ekran görüntüsü 2024-12-16 202202.png
    3.1 KB · Görüntüleme: 5
Butona tıklayınca çalışması daha doğru değil mi?

Kod:
Private Sub HesaplaButton_Click()
        TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub

Olmazsa alttakini deneyin.

Kod:
Private Sub HesaplaButton_Click()
        TextBox3.Text = ChrW(8378) & " " & Format(CDbl(TextBox3.Text), "#,##0.00")
End Sub
 
Son düzenleme:
Butona tıklayınca çalışması daha doğru değil mi?

Kod:
Private Sub HesaplaButton_Click()
        TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub
Hocam öncelikle yanıtınız için teşekkür ederim. Hemen deniyorum.
 
Butona tıklayınca çalışması daha doğru değil mi?

Kod:
Private Sub HesaplaButton_Click()
        TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub

Evet hocam, haklısınız.
Kod:
Private Sub CommandButton1_Click()
TextBox1 = ChrW(8378) & " " & Format(TextBox1, "#,##0.00")
TextBox2 = ChrW(8378) & " " & Format(TextBox2, "#,##0.00")
TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub
Şeklinde daha iyi oldu.
Çok teşekkür ederim. Var olun.
 
Eyvallah kolay gelsin.

Alternatif:

50 tane textbox varsa For i = 1 To 50 yaparsınız tümüne uygular.

Kod:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim tb As Object
    
    For i = 1 To 3 '1,2,3 textbox için
        Set tb = Me.Controls("TextBox" & i)
        tb.Value = ChrW(8378) & " " & Format(tb.Value, "#,##0.00")
    Next i
End Sub
 
Eyvallah kolay gelsin.

Alternatif:

50 tane textbox varsa For i = 1 To 50 yaparsınız tümüne uygular.

Kod:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim tb As Object
   
    For i = 1 To 3 '1,2,3 textbox için
        Set tb = Me.Controls("TextBox" & i)
        tb.Value = ChrW(8378) & " " & Format(tb.Value, "#,##0.00")
    Next i
End Sub
Teşekkürler hocam.
 
Eyvallah kolay gelsin.

Alternatif:

50 tane textbox varsa For i = 1 To 50 yaparsınız tümüne uygular.

Kod:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim tb As Object
   
    For i = 1 To 3 '1,2,3 textbox için
        Set tb = Me.Controls("TextBox" & i)
        tb.Value = ChrW(8378) & " " & Format(tb.Value, "#,##0.00")
    Next i
End Sub


Hocam, size zahmet veriyorum ama ayrı konu açmak istemedim. Dosyayı bildiğiniz için.
Direk "HESAPLA" tıklarsam, şu debug hata bildirimi çıkıyor. TextBox1 boş iken "HESAPLA" tıklarsam "Değer girmediniz" şeklinde MsgBox nasıl çıkartabilirim.
Teşekkür ederim hocam.
 
Hocam, size zahmet veriyorum ama ayrı konu açmak istemedim. Dosyayı bildiğiniz için.
Direk "HESAPLA" tıklarsam, şu debug hata bildirimi çıkıyor. TextBox1 boş iken "HESAPLA" tıklarsam "Değer girmediniz" şeklinde MsgBox nasıl çıkartabilirim.
Teşekkür ederim hocam.

Deneyiniz,

Kod:
Private Sub CommandButton1_Click()
    If Trim(TextBox1.Value) = "" Then
        MsgBox "Değer giriniz!", vbExclamation, "Uyarı"
        Exit Sub
    End If
    TextBox1.Value = ChrW(8378) & " " & Format(TextBox1.Value, "#,##0.00")
End Sub

Kod:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim tb As Object
 
    For i = 1 To 3 '1,2,3 textbox için
        Set tb = Me.Controls("TextBox" & i)
        If Trim(tb.Value) = "" Then
            MsgBox "Değer giriniz!", vbExclamation, "Uyarı"
            tb.SetFocus
            Exit Sub
        End If
        tb.Value = ChrW(8378) & " " & Format(tb.Value, "#,##0.00")
    Next i
End Sub
 
Son düzenleme:
Change değilde Exit olarak ayarlasaydınız sanırım istediğiniz gibi çalışırdı. Format gerektiren durumları change değil de exit olayına bağlamak gerekiyor sanırım.

Kod:
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub
 
Deneyiniz,

Kod:
Private Sub CommandButton1_Click()
    If Trim(TextBox1.Value) = "" Then
        MsgBox "Değer giriniz!", vbExclamation, "Uyarı"
        Exit Sub
    End If
    TextBox1.Value = ChrW(8378) & " " & Format(TextBox1.Value, "#,##0.00")
End Sub

Kod:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim tb As Object

    For i = 1 To 3 '1,2,3 textbox için
        Set tb = Me.Controls("TextBox" & i)
        If Trim(tb.Value) = "" Then
            MsgBox "Değer giriniz!", vbExclamation, "Uyarı"
            tb.SetFocus
            Exit Sub
        End If
        tb.Value = ChrW(8378) & " " & Format(tb.Value, "#,##0.00")
    Next i
End Sub

Teşekkür ederim hocam. Sayenizde oldu dosya. Var olun.
 
Change değilde Exit olarak ayarlasaydınız sanırım istediğiniz gibi çalışırdı. Format gerektiren durumları change değil de exit olayına bağlamak gerekiyor sanırım.

Kod:
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3 = ChrW(8378) & " " & Format(TextBox3, "#,##0.00")
End Sub
Alternatif için teşekkür ederim hocam.
 
Geri
Üst