• DİKKAT

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

Çarpma Bölme İşlemi

Katılım
15 Nisan 2008
Mesajlar
303
Excel Vers. ve Dili
2010
Arkadaşlar bu textboxlarla istediğim gibi bir türlü matematiksel işlem yapamıyorum lütfen yardımcı olun. Yapmak istediğim

Örneğin;

Textbox3=(Textbox2*10)/Textbox1 işlemini yapmam gerekiyor

Textbox3 abc,de(virgülden sonra iki hane)
Textbox1 abc,de(virgülden sonra iki hane)
Textbox2 abc,defg(virgülden sonra dört hane duruma göre 3 hane)

(TextBox3.Text = Format(CDbl(TextBox1.Value) * CDbl(TextBox2.Value), "#,##0.00")

bu mantıkla bir türlü yapamadım.)


birde bu işlemi excelde yapıp textboxa aktarmakmı mantıklı yoksa yukardakinin çözümünü bulmak mı yardım ederseniz sevinirim.
 
Merhaba,

Yazdığınız bu kod da bir problem yok.

TextBox3.Text = Format(CDbl(TextBox1.Value) * CDbl(TextBox2.Value), "#,##0.00")

Ek olarak. 2 değeri çarptığınız için Cdbl bölümlerini silebilirsiniz.

.
 
Textbox3=(Textbox2*10)/Textbox1 bunu nasıl kodlayabiliriz Ömer bey yukardaki kıstaslara göre, yardımcı olurmusunuz.
 
Birde arkadaşlar textboxlara excel hücrelerinde olduğu gibi (mesala , 2 yazdığımda 0,2 oluyor)
bunu textboxda nasıl yaparım, yani sıfırı yazmasamda kendisi atayacak.
 
Merhaba,

Textbox 1 ve 2 ile işlem yapmayın sadece rakamlarınızı giriniz.Çunkü verilerinizi bir yerden almıyorsunuz neden Virgülden sonra 2 hane yada 3 hane olmasını istiyorsunuz manuel giriş yapacağınızdan bu işlemi ayarlayabilirsiniz.
Textbox3= şeklinde uygulamanız yapınız.
Kod:
TextBox3.Text = Format(CDbl(TextBox2.Value) * 10 / CDbl(TextBox1.Value), "#,##0.00")

Not: Mesajlar görülmeden verilen cevaptır.
 
bütün problem virgül yerine nokta kullanmamdan kaynaklanıyormuş ,teşekkürler bzace gözümü açtın.
 
Bu şekilde deneyin.

Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1 = Format(TextBox1, "#,##0.000")
End Sub

.
 
Ömer Bey manuel giriş yaptığım zaman bunu kullanırsam giriş yapamıyorum örneğin ,524 yazacağım 0,500 oluyor. benim istediğim excel hücresinde olduğu gibi mesela ,542 diyelim bunun otomatik 0,542 olması yada ,54524 diyelim bunun 0,54524 olması
 
Kodlar bu istediğinizi yapıyor.
Denedim. ,524 yazıp çıkınca 0,524 oluyor.
 
Başka konu açmak istemedim yine hesaplamayla ilgili bir sorum olacaktı.

Şimdi dört textboxum var

Textbox1 Textbox2 Textbox3 Textbox4 şeklinde



İlk üç textboxa girilen değerlere göre dördüncü textboxa şunu nasıl yazdırabiliriz.

Textbox4 = (Enbüyük Textbox(1,2,3)-Enküçüktextbox(1,2,3))*100/Enbüyük Textbox(1,2,3)

yani üç textboxdan en büyüğü seçilecek sonra en küçükten çıkarılacak en büyüğe bölünüp yüz ile çarpılıp textbox 4 e sonuç yazılacak.

yardım ederseniz sevinirim arkadaşlar.
 
Arkadaşlar bu son sorumun çözümü varmı, excel hücrelerde mak ve min formülleri ile çok kolay yapılabiliyor, textboxlarda yapabilirmiyiz. saygılar.
 
mk=Application.WorksheetFunction.Max(textbox1.text, textbox2.text, textbox3.text)
mn=Application.WorksheetFunction.Min(textbox1.text, textbox2.text, textbox3.text)
textbox4.text= (mk - mn) * 100 / mk
 
systran teşekkür ederim yalnız bu kodu nereye koyacağım, textbox4 change koyduğum zaman değerler girdikten sonra değer gelmiyor üzerine tıklayınca sonuç geliyor, değer girince otomatik değeri nasıl atayabiliriz textbox 4 e
 
textbox1, 2 ve 3 ün change olaylarına aynı kodu kopyala.
birde sonuç hata verirse bu şekilde dene.

Kod:
mk=Application.WorksheetFunction.Max(val(textbox1.text) , val(textbox2.text), val(textbox3.text))
mn=Application.WorksheetFunction.Min(val(textbox1.text) , val(textbox2.text), val(textbox3.text))
textbox4.text= (mk - mn) * 100 / mk
 
Sayın systran bu şekilde oldu yalnız şöyle bir problem var textbox 1,2,3 ü virgüllü seçtiğim zaman virgülden sonraki kısımları işleme katmıyo, tamsayı seçtiğim zaman problem yok,

mesela texbox1 : 4,12 texbox2 : 4,50 texbox3 : 4,99 seçtiğim zaman sonuç 17,43 çıkması gerekirken 0 çıkıyor, bunuda halledebilirsek çok güzel bir iş yapmış olacağız saygılar.
 
VAL yerine CDBL kullanırsanız sanırım tamam olacak.
 
Bu şekildede 'type mismatch' hatası verdi sanırım biz bunu virgülle yapamayacağız, noktayla yaptığım zaman sorun yok, çok teşekkür ederim. Saygılar.
 
On Error Resume Next nelere kadirmiş bütün sorun bunu kullanmadığımdan kaynaklanıyor teşekkürler systran sorun çözüldü, saygılar.
 
Geri
Üst