Textbox istediğim hücreden itibaren yazsın

Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Private Sub CommandButton1_Click()
sheets(ComboBox1.Text).Select
sonsat = [a65536].End(3).Row + 1
Rows(sonsat).Select
Selection.Insert Shift:=xlDown
Cells(sonsat, 1) = sonsat - 1
Cells(sonsat, 3) = TextBox2
Cells(sonsat, 5) = TextBox3 * 1

Forumda araştırıp bulduğum kodlarla istediğimi biryere kadar yapabildim fakat takıldığım birkaç yer var.
Yukarıdaki kodlarla combobox'da seçtiğim sayfaya textbox'dan girdiğim veriyi 1 satır ekleterek yazdırabiliyorum.

1-İstediğim satırdan itibaren başlatarak verileri giremedim, mesela textbox2 b8.den ya da b33.den başlayarak sağa doğru yazsın.

2-sonsat = [a65536].End(3).Row + 1
Cells(sonsat, 1) = sonsat - 1
bu kodun mantığını öğrenmek istiyorum.

3-TextBox6.Value = Format(TextBox6, "%0.00")
Bu textboxa veri girdiğimde %3,5 şeklinde görünüyor fakat kaydete bastığımda bu satırda hata veriyor. Textbox * 1 (sayı) şeklinde tanımlı olmasından kaynaklanabilir mi?

4-Textboxlarla 4 işleme bir örnek verirseniz, onu da kendime göre düzenlemek istiyorum. Mesela Textbox1 ile Textbox2 yi topla Textbox3e yaz

İlgilenen arkadaşlara şimdiden teşekkür ederim.
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı ekleyebilirmisiniz.
 
Katılım
6 Şubat 2006
Mesajlar
123
Sanırım ekli dosyamda dördüncü sorunuza cevap olabilecek bir çalışmam var.
 
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Levent hocam dosyam ekte;
100 tane müşteri sayfasını gezerek veri girmektense userform ile yapılabilir diye düşündüm ve bu işe kalktım.
Combobox'dan seçtiğim müşterinin sayfasına b8.den başlayarak verileri alt alta giricem, veriyi girdikten sonra bir satır eklensin ki b9.da ki toplam satırı bozulmasın.
Verileri girdiğimde hesaplanması gerekenleri textboxlarla mı yoksa hücrelere yazılacak formülleri okutarak mı yapmak kolay bilmiyorum.
Oluşturduğum userform sadece satışlar için şu an da, alışlar içinde aynı formdan düzenleyip ilgili yere yazdırmak istiyorum, ya da aynı userform üzerinden yapılabilirse o şekilde. Checkbox ile olabilir mi?

Userformu daha da geliştirip görsellikte katmak istiyorum sizlerin yardımıyla.
 
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Sayın herguder,

Örnek dosyayı inceledim emeğinize sağlık, yanlız sizde işlemler command buton ile yapılıyor benim istediğim mesela textbox1 ve 2'ye değeri girdiğimde 3'de sonucu görmeliyim ya da hücrelerde formülleri yazıp textbox'a alabilmeliyim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
textbox1 ve 2'ye değeri girdiğimde 3'de sonucu görmeliyim ya da hücrelerde formülleri yazıp textbox'a alabilmeliyim.
Textbox1'e aşağıdaki kodu yazın.

Kod:
Private Sub TextBox1_Change()
deg = TextBox1
deg2 = TextBox2
If TextBox1 = "" Then deg = 0
If TextBox2 = "" Then deg2 = 0
TextBox3 = Replace(deg * 1 + deg2 * 1, ".", ",")
End Sub
Textbox2 yede aşağıdaki kodu yazın.

Kod:
Private Sub TextBox2_Change()
TextBox1_Change
End Sub
 
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Levent hocam dosyayı inceleyebildiniz mi? diğer sorunlar hakkında yardımcı olabilirseniz sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Cevaplarım aşağıdaki gibidir.

1-Kaydet butonuna aşağıdaki yazın. Yalnız textboxların yerleri doğru değil onu düzeltirsiniz.

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
sheets(ComboBox1.Text).Select
sonsat = WorksheetFunction.Match("Toplam", [b:b], 0)
Rows(sonsat).Insert
Cells(sonsat, 1) = sonsat - 1
Cells(sonsat, 3) = TextBox2
Cells(sonsat, 5) = TextBox3 * 1
Cells(sonsat, 6) = TextBox4 * 1
Cells(sonsat, 7) = TextBox5
Cells(sonsat, 8) = TextBox6 * 1
Cells(sonsat, 9) = TextBox7 * 1
Cells(sonsat, 10) = TextBox8 * 1
Cells(sonsat, 11) = TextBox9 * 1
Cells(sonsat, 12) = TextBox10 * 1
Cells(sonsat, 13) = TextBox11 * 1
Cells(sonsat, 14) = TextBox12 * 1
Cells(sonsat, 15) = TextBox13
Cells(sonsat, 16) = TextBox14
End Sub
2- sonsat = [a65536].End(3).Row + 1
A sütunundaki sonsatırın satır nosunu bulur ve bir ekler, bu bir rakamı taloya göre değişir.

Cells(sonsat, 1) = sonsat - 1

Bu satırda tabloya sıra nosu vermek içindir.

3-Evet bir ile çarpmayın.

4-Bu sorunuzu bir önceki mesjımda yanıtlamıştım.
 
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Hocam cevaplar için tşk. ederim

Textbox5=Textbox3*Textbox4
Textbox7=Textbox5*Textbox6/100
Textbox8=Textbox9/Textbox3
Textbox10=(Textbox5-Textbox7)+Textbox9
Textbox11=Textbox10*18/100
Textbox12=Textbox10*Textbox11

Örnek dosyadaki tabloya göre bu işlemleri yapmam gerekiyor, önceki verdiğiniz kodla birini yaptım diğerlerine uygulamaya çalıştım fakat hata verdi. Sanırım aynı Textbox'ları birden fazla işlemde kullandığım için.

Birde formülleri hücrelere yazsam Textbox da görünmesini nasıl sağlarım.
 
Son düzenleme:
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Arkadaşlar bu işlemler için fikir verecek yok mu?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Eğer textboxların change olayına kod yazıyorsanız ve bu textboxları birden fazla işlemde kullandı iseniz, her değişiklik tüm change olaylarını çalıştıracağından sorun çıkarabilir. Bunu engellemek için iyi bir düzenleme yapmak gerekir. Birde her prosedürün başına "on error resume next" satırını ilave edebilirsiniz.
 
Katılım
16 Temmuz 2005
Mesajlar
31
Excel Vers. ve Dili
2003 - Türkçe
Levent hocam değişik şekillerde düzenledim fakat netice alamadım, biraz daha uğraşacağım. Uğraşması zevkli olduğu kadar sinir bozucu da ;)

Yine beceremezsem sizi tekrar rahatsız edicem artık. Teşekkür ederim.
 
Üst