• DİKKAT

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

Soru textbox toplama (Fazla Giriş var ise uyarsın)

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Kod:
Dim txt As Control, toplam As Double
For Each txt In Me.Controls
    If TypeName(txt) = "TextBox" Then
        If txt.Tag = "t" Then
            If IsNumeric(txt.Text) Then
                toplam = toplam + CDbl(txt.Text)
            End If
        End If
    End If
Next
TextBox35 = Replace(FormatNumber(CDbl(toplam), 2), ".", ",")

yukarıdaki kod "Evren Abimin paylaşımından aldım" Textbox31' in change olayına yazılı kod.
eklemek istediğim şu:
TextBox29+TextBox30 ve veri girişi yaptığım TextBox31' in toplamı TextBox26' yı geçiyorsa
textbox31' e yapılan veri girişini kabul etmesin (..... kadar fazla giriş yaptınız) şeklinde uyarsın.
Bu işlemi nasıl yapabilirim?

Kod:
 End If
        End If
    End If
Next
If CDbl(TextBox29) + CDbl(TextBox30) + CDbl(TextBox31) > CDbl(TextBox26) Then
MsgBox "Gireceğiniz değer " & CDbl(TextBox26) - CDbl(TextBox33) & " den büyük olamaz.", vbCritical, "UYARI"
TextBox33 = ""
End If
Else
TextBox35 = Replace(FormatNumber(CDbl(toplam), 2), ".", ",")

şeklinde uyguladım ama işlem yapmadı.
 
Şöyle deneyiniz.
Kod:
TextBox35 = Format(CDbl(toplam),"#,##0.00")
 
Evren Abi
Kod:
If CDbl(TextBox29) + CDbl(TextBox30) + CDbl(TextBox31) > CDbl(TextBox26) Then
MsgBox "Gireceğiniz değer " & CDbl(TextBox26) - CDbl(TextBox33) & " den büyük olamaz.", vbCritical, "UYARI"
TextBox33 = ""
End If
yukarıdaki kısım işlem yapmıyor.
Örnek :
Textbox26 değeri 200
Textbox29 + Textbox30 toplamı 100
Textbox31' e de 150 girişi yapıldığı zaman
Textbox35 toplamı 250 oluyor.
Textbox26' da ki değeri aştı.
Textbox31' e fazla giriş yapıldı uyarısını alamıyorum.
 
Örnek bir dosya,sadece bu yazdığınız textboxları ekleyerek yollarmısınız.
 
Evren Abi
Örnek olarak Textbox26' ya : 2200 TL yazın
Kesintiler hanesine de (toplam tutarı geçecek şekilde ) rakamlar yazın
Fazla giriş hangi kesinti hücresinde ise uyarı vererek kabul etmemesi lazım.
 

Ekli dosyalar

Buyurun.
Kod:
Private Sub TextBox29_Change()
On Error Resume Next
Dim txt As Control, toplam As Double
For Each txt In Me.Controls
    If TypeName(txt) = "TextBox" Then
        If txt.Tag = "t" Then
            If IsNumeric(txt.Text) Then
                toplam = toplam + CDbl(txt.Text)
            End If
        End If
    End If
Next
If toplam > CDbl(TextBox26.Value) Then MsgBox "Kesintiler Toplamı,Toplamdan büyük olamaz."
TextBox29.SetFocus
TextBox34 = Replace(FormatNumber(CDbl(toplam), 2), ".", ",")
End Sub
 
Ellerin dert görmesin evren abi
Teşekkür ederim. Hakkınızı helal edin
 
İyi çalışmalar.
 
Geri
Üst