[Yardım]  UserForm'da 5 Adet TextBox Toplama İşlemi

Metin Kutucuğu. Bir programcının olmazsa olmazlarındandır.

UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#1)  Haldunc » 11 Mar 2015 22:01

Merhabalar,

Userform üzerinde bulunan 5 adet TextBox içindeki rakamsal değerlerin toplamının 6. TextBox'a yazılması için aşağıdaki formülü kullandım olmadı.
Userform üzerinde matematiksel işlemler için bir Konu Başlığı bulamadığımdan burada sormak durumunda kaldım..

Formülüm (çalışmayan)
Kod: Tümünü seç
Private Sub TextBox22_Change()
On Error Resume Next
If TextBox17 <> "" Then
If TextBox18 <> "" Then
If TextBox19 <> "" Then
If TextBox20 <> "" Then
If TextBox21 <> "" Then

TextBox22.Value = (CDbl(TextBox17.Value) + CDbl(TextBox18.Value) + CDbl(TextBox19.Value) + CDbl(TextBox20.Value) + CDbl(TextBox21.Value))
End If
End Sub


Burada anlatmak istediğim 17, 18, 19, 20, 21 nolu TextBox değerlerinin toplamını 22 nolu TextBox'a almak..
Hata nerede olabilir. Selamlar
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: USERFORM'da 5 Adet TextBox toplama işlemi

İleti#2)  Erkan Akayay » 11 Mar 2015 22:14

Öncelikle niye Toplam aldığınız Textbox içinde değişiklik yaparken toplama yapmak istiyorsunuz?
Diğer sorum ise ne hatası alıyorsunuz? Hatayı tahmin ediyoruz ama emin olmak isteriz. Aslında aldığınız hata size nerede yanlış yaptığınız gösterecektir. Yanlış if kullanımını yaptığınızı söyleyecektir.
Sorularınızı düzgün bir Türkçe ile detay vererek ve örnek dosyayla destekleyerek sorunuz.
Örnek dosyalarınızda Application.Visible veya hide gibi sayfa gizlemelerini iptal ediniz.
Alıntı ile gereksiz şişirilen başlıkları takip edemiyorum. Lütfen Cevap Yaz butonunu kullanın.
Kullanıcı avatarı
Erkan Akayay
Site Dostu
 
Kayıt: 20 Ağu 2008 11:59
Konum: YALOVA
Meslek: Bilgi İşlem
Yaş: 50
İleti: 4218
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Yalova

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#3)  Haldunc » 12 Mar 2015 08:15

Private Sub TextBox22_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox22.Value = CDbl(TextBox17.Value) + CDbl(TextBox18.Value) + CDbl(TextBox19.Value) + CDbl(TextBox20.Value) + CDbl(TextBox21.Value)
End Sub

Konu açık kalsın lütfen!
Bir program çalışıyorum ilave sorularım olabilir.
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#4)  Enes Recep BAĞ » 12 Mar 2015 08:47

İlk mesajında hata almazsınız ki.
Sadece işlem yapmaz.

Size küçük bir örnek ekliyorum, inceleyiniz.
Bir de aşağıdaki kodda ne yapmak istediniz?
17den 21 e kadar tüm alanların dolu olması mı gerekiyor.
If TextBox17 <> "" Then
If TextBox18 <> "" Then
If TextBox19 <> "" Then
If TextBox20 <> "" Then
If TextBox21 <> "" Then


Şayet öyleyse,
if textbox17.value=empty then exit sub gibi devam edin veya
if textbox17.value = empty or textbox18.value = empty .... then exit sub diye yapabilirsiniz.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Enes Recep BAĞ
Forum Moderatörü
 
Adı Soyadı:Enes Recep BAĞ
Kayıt: 30 Ağu 2010 15:39
Konum: 0 549 808 82 66
Meslek: Bilgi işlem
Yaş: 38
İleti: 8285
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#5)  Haldunc » 12 Mar 2015 09:24

Enes Bey açıklamalarınız için teşekkür ederim. Bir önceki sorunumu hallettim gibi..
Başka bir problemim oluştu. Aşağıda da görüleceği üzere ilk 5 kodlamada hata almıyorum.
Ancak kırmızı renkli kodda hat aldım.. Burada yapmak istediğim

100 değerinden 0,00 formatlı elde ettiğim 24, 25, 26, 27 nolu textbox toplam değerini çıkararak yine 0,00 format ile TextBox 23 değerine ulaşmak.. Formülün neresinde hata var? Bir kaç değişiklik yaptım ama nafile?




Private Sub TextBox22_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox22.Value = CDbl(TextBox17.Value) + CDbl(TextBox18.Value) + CDbl(TextBox19.Value) + CDbl(TextBox20.Value) + CDbl(TextBox21.Value)
End Sub
-----------------

Private Sub TextBox25_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox25.Value = Format(CDbl(TextBox19.Value) / CDbl(TextBox22.Value), "0.00")
End Sub
------------------------------------------------------
Private Sub TextBox26_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox26.Value = Format(CDbl(TextBox21.Value) / CDbl(TextBox22.Value), "0.00")
End Sub
---------------------------------------

Private Sub TextBox27_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox27.Value = Format(CDbl(TextBox20.Value) / CDbl(TextBox22.Value), "0.00")
End Sub
-------------------------------------------------------------
Private Sub TextBox24_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox24.Value = Format(CDbl(TextBox18.Value) / CDbl(TextBox22.Value), "0.00")
End Sub
-------------------------------------------
Private Sub TextBox23_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox23.Value = 100 - (Format((CDbl(TextBox24.Value) + CDbl(TextBox28.Value) + CDbl(TextBox27.Value) + CDbl(TextBox25.Value)), "0.00"))
End Sub
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#6)  Tarkan VURAL » 12 Mar 2015 10:33

100 eksi ifadesini format içine tanımlayın. Dışında olduğu için string bir değerden 100 sayısalı çıkarılamıyor. ;)
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 47
İleti: 27420
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#7)  Haldunc » 12 Mar 2015 11:24

Tarkan Bey
Teşekkür ederim..

Son satırda 100 tam sayısından çıkarma işlemini hallettim.

Şimdi halledemediğim ise yine renkli kısımlarda ondalıklarda problem yaşamam..

Örneğin
TextBOX17: 23,2
TextBox18: 2,55
TextBox19: 3,90
TextBox20: 5,77
TextBox21: 3,76

Aşağıda 1. kodlamada bu 5 değeri toplayıp TextBox değerini buluyorum : 39,18

2. kodlamada TextBox25 değerini = TexBox19(3,90) / TextBox 22 (39,18) yani 3,90'ın 39,18'de % değerini bulmak istiyorum ve

(100* (TextBox19/TextBox22)) yapıyorum. Çıkması gereken değer 9,95 olması gerekirken sonuç 09,95 çıkıyor. 1000 ile çarptım sonuç yine değişmedi.. Formatım 0.00 olmalı 0.00% işime yaramıyor. Çünkü o zaman en son kod çalışmıyor.



Private Sub TextBox22_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox22.Value = CDbl(TextBox17.Value) + CDbl(TextBox18.Value) + CDbl(TextBox19.Value) + CDbl(TextBox20.Value) + CDbl(TextBox21.Value)
End Sub
--------------
Private Sub TextBox25_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox25.Value = Format(100 * ((CDbl(TextBox19.Value) / CDbl(TextBox22.Value))), "0.00")
End Sub
--------------------
Private Sub TextBox26_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox26.Value = Format(100 * ((CDbl(TextBox21.Value) / CDbl(TextBox22.Value))), "0.00")
End Sub
----------------
Private Sub TextBox27_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox27.Value = Format(100 * ((CDbl(TextBox20.Value) / CDbl(TextBox22.Value))), "0.00")
End Sub
------------------
Private Sub TextBox24_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox24.Value = Format(100 * ((CDbl(TextBox18.Value) / CDbl(TextBox22.Value))), "0.00")
End Sub
------------------------------
Private Sub TextBox23_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox23.Value = Format(100 - ((CDbl(TextBox24.Value) + CDbl(TextBox27.Value) + CDbl(TextBox26.Value) + CDbl(TextBox25.Value))), "0.00")
End Sub
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#8)  Haldunc » 12 Mar 2015 14:35

Bu da format sorunuymuş hallettim. Konu Şimdilik yine" de açık kalsın lütfen
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#9)  Tarkan VURAL » 12 Mar 2015 18:21

Ondalık ayraçları nokta veya virgül olarak değişebildiğinden, Format yerine Formatnumber kullanarak, basamak parametresine 2 değerini göndermenizi tavsiye ederim.

Kod: Tümünü seç
Private Sub TextBox25_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox25.Value FormatNumber(100 * ((CDbl(TextBox19.Value) / CDbl(TextBox22.Value))),2)
End Sub


Ayrıca sayısal değişken kullanmanız daha az sorun yaşamanıza sebep olacaktır. Aşağıdaki örnekte anlaşılabilirlik daha fazladır.

Kod: Tümünü seç
Private Sub TextBox25_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim sayi1 as doublesayi2 as doublesonuc as double

sayi1 
TextBox19.Value
sayi2
TextBox22.Value
sonuc 
=  (sayi1 sayi2) * 100

TextBox25
.Value formatnumber(sonuc,2)

End Sub
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 47
İleti: 27420
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#10)  Haldunc » 12 Mar 2015 18:58

Tarkan Bey,

Bilgiler için teşekkür ederim. [TESEKKÜR]
Kullanıcı avatarı
Haldunc
Siteye Alışmış
 
Adı Soyadı:HALDUN CEYHAN
Kayıt: 21 Oca 2010 18:23
Konum: BURSA
Meslek: ZİRAAT MÜH
Yaş: 58
İleti: 331
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: BURSA

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#11)  yavuztopal » 11 Oca 2021 18:30

Arkadaşlar Merhaba,

Tarkan Bey ve Enes Bey in vermiş olduğu örnekler üzerinden TextBoxlara toplama işlemi yaptırdım. Fakat anlık olarak ilgili TextBoxta toplama işlemini göstermiyor. Örnekteki kodlar ile TextBox26 ve TextBox27 veri girilince ( Biri boş olsa bile ) toplamı TextBox28 anlık olarak nasıl gösterebiliriz Yardımcı olabilirmisiniz.

Kod: Tümünü seç
Private Sub TextBox28_Enter()
Dim iscilik As Double
Dim malzeme As Double
Dim toplam As Double

If TextBox26.Value = Empty Or TextBox27.Value = Empty Then Exit Sub

iscilik = TextBox26.Value
malzeme = TextBox27.Value
toplam = iscilik + malzeme

TextBox28.Value = FormatNumber(toplam, 2)

End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
yavuztopal
Yeni Başlamış
 
Kayıt: 23 Haz 2015 02:47
Meslek: memur
Yaş: 37
İleti: 94
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#12)  Justmag » 11 Oca 2021 21:44

Kod: Tümünü seç
Private Sub TextBox27_Change()
toplam
End Sub
Private Sub TextBox26_Change()
toplam
End Sub

Private Sub toplam()
Dim iscilik As Double
Dim malzeme As Double
Dim toplam As Double

    If TextBox26.Value = Empty Then
        iscilik = "0.00"
    Else
        iscilik = TextBox26.Value
    End If
   
   
    If TextBox27.Value = Empty Then
        malzeme = "0.00"
    Else
        malzeme = TextBox27.Value
    End If

toplam = iscilik + malzeme
TextBox28.Value = FormatNumber(toplam, 2)


End Sub
Kullanıcı avatarı
Justmag
Siteye Alışmış
 
Kayıt: 16 Nis 2020 15:03
Meslek: Diğer
Yaş: 35
İleti: 175
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Diğer

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#13)  yavuztopal » 12 Oca 2021 11:51

Justmag Bey,

Emeğinize sağlık tam olarak kast ettiğim buydu. şkşk Teşekkür ederim. Yalnız anlamadığım bir nokta var. Benim gibi yeni öğrenmeye başlayanlarda aynı konuda takılacaktır. Private Sub toplam() böyle bir isimle başlayan ne CommandButon var nede TextBox, alıp direk UserForm a yapıştırdım çalıştı bu işlemin olayı nedir. Genelde kod yazacağımız nesnenin içine girip kod yazıyorduk biraz değişik geldi.
Kullanıcı avatarı
yavuztopal
Yeni Başlamış
 
Kayıt: 23 Haz 2015 02:47
Meslek: memur
Yaş: 37
İleti: 94
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#14)  Justmag » 12 Oca 2021 20:07

Toplam isimli prosedur tanımladık, textboxlara da dedik ki: sende değişiklik olunca toplam isimli prosedürü çalıştır.Sizin dediğiniz gibi yapsaydık hem Textbox26 hem de Textbox27'ye aynı kodları yazacaktık.
Kullanıcı avatarı
Justmag
Siteye Alışmış
 
Kayıt: 16 Nis 2020 15:03
Meslek: Diğer
Yaş: 35
İleti: 175
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Diğer

Cevap: UserForm'da 5 Adet TextBox Toplama İşlemi

İleti#15)  yavuztopal » 12 Oca 2021 21:17

Justmag Bey,

Bilgiler için teşekkürler, Kast ettiğim gibi olmuş güzel, yalnız kod da iscilik = "0.00" yazan kısımlar işlem yapmıyor herhalde, olsa da aynı işlem oluyor kaldırılsa da aynı işlem oluyor etkisi yok sanırım. Ayrıca 1) Sayı yerine harf girince 2) ilgi hücrede eğer harf varsa listloxtan TextBox veri çağırıldığı zamanda hata oluyor. Kod sayfasına dönüp iscilik = TextBox15.Value satırında sarı renkte uyarı veriyor. yanlışlıkla hücreye harf girilse sorun olur. Bunu nasıl çözebiliriz. Örnekte ListBox 2 sıradaki veriyi tıklayabilirsiniz.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
yavuztopal
Yeni Başlamış
 
Kayıt: 23 Haz 2015 02:47
Meslek: memur
Yaş: 37
İleti: 94
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İSTANBUL


Forum TextBox

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir

Bumerang - Yazarkafe