TextBoxlarda çıkarma işlemi

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Değerli üstadlarım merhabalar
Ekte gönderdiğim dosyada;
Solda yeşil bölümde HESAPLA butonuyla TextBox31 içine alınan toplam tutar, TextBox33 ile TextBox 44 arasona her ay sırayla aktarılıp, TextBox45 içindeki toplam tutar HESAPLAMAYI KAYDET butuyla ilgili excel sayfalarına aktarımı yaptırılıyordu.

Ancak yeni bir hesaplama ihtiyacı doğması nedeniye; yine birinci bölüm yeşil alana yeni eklediğim TextBox50 içine yazacağım TL formatındaki değerin TextBox31 deki değerden çıkarılarak sonucun TextBox51 içine alınması ve TextBox31 deki değer yerine TextBox51 deki değerin buradan TextBox33 ile TextBox 44 arasına her ay sırayla aktarılıp, HESAPLAMAYI KAYDET butonuyla ilgili sayfalara aktarılması hususunda çok değerli yardımlarınıza ihtiyacım var. Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
emimim ki değerli üstatlar bu konuya bir cevap verecektir.
 

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Değerli üstadlarım merhabalar
Ekte gönderdiğim dosyada;
Solda yeşil bölümde HESAPLA butonuyla TextBox31 içine alınan toplam tutar, TextBox33 ile TextBox 44 arasona her ay sırayla aktarılıp, TextBox45 içindeki toplam tutar HESAPLAMAYI KAYDET butuyla ilgili excel sayfalarına aktarımı yaptırılıyordu.

Ancak yeni bir hesaplama ihtiyacı doğması nedeniye; yine birinci bölüm yeşil alana yeni eklediğim TextBox50 içine yazacağım TL formatındaki değerin TextBox31 deki değerden çıkarılarak sonucun TextBox51 içine alınması ve TextBox31 deki değer yerine TextBox51 deki değerin buradan TextBox33 ile TextBox 44 arasına her ay sırayla aktarılıp, HESAPLAMAYI KAYDET butonuyla ilgili sayfalara aktarılması hususunda çok değerli yardımlarınıza ihtiyacım var. Yardımlarınız için şimdiden teşekkürler.
Değerli üstatlarım bu programı bu hale getirebilmek için sizlerden çok yardım almıştım. Şimdi son konuda yine yardımlarınız bekliyorum acaba çok mu karmaşık anlattım bir cevap alamadım.
 

ümit bektas

Altın Üye
Katılım
12 Eylül 2021
Mesajlar
54
Excel Vers. ve Dili
Microsoft Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
04-07-2026
Merhaba tam çözemedim ama belki işinizi görür


Private Sub HESAPLA_Click()
' TextBox31 içerisindeki toplam tutarı al
Dim toplamTutar As Double
toplamTutar = CDbl(TextBox31.Value)

' TextBox50'deki değeri al ve TL formatından çıkar
Dim yeniDeğer As Double
yeniDeğer = CDbl(TextBox50.Value)

' Sonucu TextBox51'e yaz
Dim sonuc As Double
sonuc = toplamTutar - yeniDeğer
TextBox51.Value = sonuc

' Sonucu TextBox33 ile TextBox44 arası aktarma işlemi
Dim i As Integer
For i = 33 To 44
If IsEmpty(Me.Controls("TextBox" & i).Value) Then
Me.Controls("TextBox" & i).Value = sonuc
Exit For
End If
Next i
End Sub

Private Sub HESAPLAMAYI_KAYDET_Click()
' HESAPLAMAYI KAYDET butonuyla gerekli sayfalara aktarım işlemleri
' Burada ilgili Excel sayfalarınıza aktarım kodlarını eklemek gerekecek
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Hedef sayfanızı belirtin

' Örneğin, aktarılan value'yu A1 hücresine yazma
ws.Range("A1").Value = TextBox51.Value

' Diğer hücrelere aktarımlarınızı burada yapabilirsiniz
End Sub
```
- **HESAPLA butonu**:
- TextBox31'den toplam tutar alır.
- TextBox50'den yeni değeri alır ve toplam tutardan çıkararak TextBox51'e yazar.
- TextBox51'deki değeri TextBox33 ile TextBox44 arasında sırayla aktarır..
 

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Merhaba tam çözemedim ama belki işinizi görür


Private Sub HESAPLA_Click()
' TextBox31 içerisindeki toplam tutarı al
Dim toplamTutar As Double
toplamTutar = CDbl(TextBox31.Value)

' TextBox50'deki değeri al ve TL formatından çıkar
Dim yeniDeğer As Double
yeniDeğer = CDbl(TextBox50.Value)

' Sonucu TextBox51'e yaz
Dim sonuc As Double
sonuc = toplamTutar - yeniDeğer
TextBox51.Value = sonuc

' Sonucu TextBox33 ile TextBox44 arası aktarma işlemi
Dim i As Integer
For i = 33 To 44
If IsEmpty(Me.Controls("TextBox" & i).Value) Then
Me.Controls("TextBox" & i).Value = sonuc
Exit For
End If
Next i
End Sub

Private Sub HESAPLAMAYI_KAYDET_Click()
' HESAPLAMAYI KAYDET butonuyla gerekli sayfalara aktarım işlemleri
' Burada ilgili Excel sayfalarınıza aktarım kodlarını eklemek gerekecek
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sayfa1") ' Hedef sayfanızı belirtin

' Örneğin, aktarılan value'yu A1 hücresine yazma
ws.Range("A1").Value = TextBox51.Value

' Diğer hücrelere aktarımlarınızı burada yapabilirsiniz
End Sub
```
- **HESAPLA butonu**:
- TextBox31'den toplam tutar alır.
- TextBox50'den yeni değeri alır ve toplam tutardan çıkararak TextBox51'e yazar.
- TextBox51'deki değeri TextBox33 ile TextBox44 arasında sırayla aktarır..
Üstadım öncelikle size teşekkür etmeyi bir borç biliyorum değerli zamanınızı ayırdınız, emek verdiniz. Ancak verdiğiniz kodları girmeme rağmen çalıştıramadım. Sanırım ben beceremedim. HESAPLA butonunu çözersek HESAPLAMAYI KAYDET de sorun olmayacaktır diye düşünüyorum. Tekrar bir göz atarsanız memnun olurum selamlar. Bir ekleme daha yapmak istiyorum. Sanırım TextBox17 ile TextBox23 arasını TextBox32 deki değerle çarpıp TextBox31 içine alınmasında bir sorun var gibi. Öncelikle bunu halledersek yukarıda yazdığınız kodlar çözüm olacaktır düşüncesindeyim.
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Sorunun birinci bölümü için

Bu kodu bir dene

Kod:
Private Sub TextBox50_Change()

If TextBox50.Text = "" Then TextBox51.Text = "": Exit Sub
TextBox51.Text = CDbl(TextBox31.Text) - CDbl(TextBox50.Text)
TextBox51.Value = Format(CDbl(TextBox51.Text), "#,##0.00")

End Sub
 

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Sorunun birinci bölümü için

Bu kodu bir dene

Kod:
Private Sub TextBox50_Change()

If TextBox50.Text = "" Then TextBox51.Text = "": Exit Sub
TextBox51.Text = CDbl(TextBox31.Text) - CDbl(TextBox50.Text)
TextBox51.Value = Format(CDbl(TextBox51.Text), "#,##0.00")

End Sub
Üstadım çok teşekkür ederim. Verdiğiniz kod birinci bölüm için sorunsuz çalıştı ve TexBox50'ye değeri girince sonucu kendiliğinden verdi. Sadece HESAPLAMA butonuna bastığımda "Expected End Sub" diye bir hata alıyorum. Sanıyorum devamında vereceğiniz bilgiler bu sorunu halledecektir. Minnettarım emekleriniz için binlerce sağolun.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Ben kırmızı renkli HESAPLA (btn_Hesapla_Click) tuşuna bastığımda bir hata almadım.
 

aliadanur

Altın Üye
Katılım
28 Ekim 2020
Mesajlar
59
Excel Vers. ve Dili
Excel 2007
Altın Üyelik Bitiş Tarihi
25-12-2028
Ben kırmızı renkli HESAPLA (btn_Hesapla_Click) tuşuna bastığımda bir hata almadım.
Üstadım haklısınız her hangi bir sorun görünmüyor. Bu durumda TextBox51 deki değeri TextBox33 ve sırasıyla 34,35............44 arasına her ay yapılan işlemi sırasıyla atmasıdır. Ayrıca TextBox 50'ye değer girilmediği zamanlarda (eksik yevmiye olmaması durumlarında) TextBox31 deki değeri TextBox 51'e aktarmasıdır. Yardımlarınız için şimdiden teşekkürler.
 
Üst