textbox a hücre toplamı yazdımak

Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
belki çok kolay bir sorudur. Formda yaklaşık 2 saat aradım ama bulamadım.
1) Ben E2 sütunundaki rakamları textboxta toplatmak istiyorum. Yani =Topla(E2:E65536) işleminin sonucunu userformu açtığımda burdaki textboxta görmek istiyorum. ama bu toplama işlemini bir türlü yapamadım.


2) TextBox1 e tarih girdiğimde textBox2 de o tarihin kaçıncı hafta olduğunu gösterebilirmiyim. yani 10.09.2009 yazdığımda Text2 de 37 yazsın gibi. Böyle birşey mümkünmüdür
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

1. sorunuzun yanıtı


Kod:
TextBox1 = Format(Application.WorksheetFunction.Sum(Range("E:E")), "#,##0.00")
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
Sayın Necdet bey yardımız için çok teşekkürler 2. soru içinde yardımınızı bekliyorum
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
sayın fedeal verdiğiniz bilgiye çok teşekkürler henüz kullanmadım fakat sanırım sorunumu çözecek gibi görünüyor. verdiğiniz linki ben sitede okadar aramama rağmen bulamamıştım. demekki daha dikkatli bakmak gerekiyormuş. Tekrar tekrar size ve Necdet beye çok teşekkürler
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
Sayın Necdet hocam verdiğiniz kodu uygulamaya çalışıyorum fakat sonuç elde edemiyorum.
sizin verdiğiniz kodu ben

Fatura_Takip.TextBox17=Format(Application.WorksheetFunction.Sum(Range("Takip!E:E")), "#.00TL")

şeklinde yazdım ve textboxta ,00TL sonucu verdi.

benim E sütununda E1 hücremde faturalar diye yazı var. E2 den itibaren rakamlar başlıyor. Formüldeki
Range("Takip!E:E") kısmını Range("Takip!E2:E") yapıncada hata veriyor.bunun doğrusu yada hata yaptığım yer neresidir.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sanırım Range yazılışını xl deki gibi yazıyorsunuz ondandır.

Sheets("Takip").range("E:E")
gibi kullanınız.
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
Necdet hocam dediğiniz değişliğide yaptım hata kodu vermiyor fakat userformu açtığımda textboxta ,00TL yazıyor. Ama benim
E2 hücremde 2500
E3 hücremde 13500 var bunların toplamını neden yapmıyor(E1 hücresine Faturalar yazısı var)
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
Sayın Fedeal yardımlarınız için tekrar teşekkürler. Verdiğiniz kodu kullandım. yanlız şöyle bir sorunla karşılaştım.
ben bu kodu kullandığım programda Text1 de manuel olarak tarih giriyorum(örnek 13.09.2009)
Text2 de ise sayısal olarak gün giriyorum (mesela 38)
Text3de ilk girdiğim tarihle günü toplatıyorum ve buradada 21.10.2009 tarihi çıkıyor (sizin verdiğiniz kodu burdaki TextBoxa uyguladım)
Text4 de ise sizin verdiğiniz kod yardımıyla haftayı hesapladı ve 42 sonucunu yazdı.
buraya kadar sorun yok işlemler tam istediğim gibi fakat 21.10.2009 tarihi 42 değil 43. haftaya ait.
bunun sebebi nedir acaba nasıl düzeltebiliriz
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Sayın Fedeal yardımlarınız için tekrar teşekkürler. Verdiğiniz kodu kullandım. yanlız şöyle bir sorunla karşılaştım.
ben bu kodu kullandığım programda Text1 de manuel olarak tarih giriyorum(örnek 13.09.2009)
Text2 de ise sayısal olarak gün giriyorum (mesela 38)
Text3de ilk girdiğim tarihle günü toplatıyorum ve buradada 21.10.2009 tarihi çıkıyor (sizin verdiğiniz kodu burdaki TextBoxa uyguladım)
Text4 de ise sizin verdiğiniz kod yardımıyla haftayı hesapladı ve 42 sonucunu yazdı.
buraya kadar sorun yok işlemler tam istediğim gibi fakat 21.10.2009 tarihi 42 değil 43. haftaya ait.
bunun sebebi nedir acaba nasıl düzeltebiliriz
Fonksiyon iki tarih arası 7 güne göre hesaplama yapıyor siz pazartesi başlangıç olarak düşünüyorsanız şöyle bir çözüm buldum,

Kod:
Private Sub TextBox1_Change()
For i = 1 To 7
If DateValue(i & "/1/" & Year(TextBox1)) / 7 = Int(DateValue(i & "/1/" & Year(TextBox1)) / 7) Then gün = i
Next
If gün < 2 Then
TextBox2.Text = (DateDiff("w", gün + 2 & "/1/" & Year(TextBox1), TextBox1)) + 1
Else
d = DateValue(gün + 2 & "/1/" & Year(TextBox1)) - 7
TextBox2.Text = (DateDiff("w", d, TextBox1)) + 1
End If
End Sub
 
Son düzenleme:
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
sayın fedeal tekrar tekrar çok teşekkürler vakit ayırıp yardım ettiğiniz için. verdiğiniz formülü uyguladım ve sonuç olarak karşıma 5724 gibi bir rakam çıkıyor
ben size dosyamıda gönderiyorum ekte . dosyada karşınıza çıkan ilk userformda fatura tarihini giriyorum sonra fatura vadesini giriyorum vade tarihi ve vade haftasını kendisi otomatik hesaplıyor(hafta hesaplatmasında sorun var)
sonra ödeme tarihi giriliyor ve ödeme haftasını otomatik hesaplatmam gerekli
 

Ekli dosyalar

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
TextBox6.Text = (DateDiff("w", gün + 2 & "/1/" & Year(TextBox5), TextBox5)) + 1

bu satırda bir problem var 5724 windowsun tarih başlangıcından bu yana olan hafta sayısı
gün + 2 & "/1/" & Year(TextBox5) bölümü bize yılın ilk pazartesi tarihini vermeli ekledigim dosyada bunu yapıyor. textbox5 1900 olarak algılanıyor ama sebebini bulamadım.
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
TextBox6.Text = (DateDiff("w", gün + 2 & "/1/" & Year(TextBox5), TextBox5)) + 1

bu satırda bir problem var 5724 windowsun tarih başlangıcından bu yana olan hafta sayısı
gün + 2 & "/1/" & Year(TextBox5) bölümü bize yılın ilk pazartesi tarihini vermeli ekledigim dosyada bunu yapıyor. textbox5 1900 olarak algılanıyor ama sebebini bulamadım.
sayın fedeal siz dosya ekledinizmi acaba ben göremedim de?
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
evet aynı sorun devam ediyor fedeal.
Size tekrar tekrar teşekkür ediyorum bana bu kadar vakit ayırdığınız için
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
sadece formun ilk açılışında hata oluyor listboxtan veri alınca düzeliyor.
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
dediğiniz doğru fakat yeni kayıt yapacağım zaman çıkan sonuç hatalı oluyor. bugun sizi baya bir uğraştırdım ve sizde çok yardımcı oldunuz bana yardımlarınız için tekrar tekrar teşekkürler. İnşallah bunu çözmemde yardımcı olmaya devam edersiniz.
saygılarımla
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
kodlara eklediginiz On Error Resume Next satırı hatayı görmemizi engelliyormuş kodları alttakilelerle değiştirin.

Kod:
Private Sub TextBox5_Change()
Dim gün, i As Byte
For i = 1 To 7
If DateValue(i & "/1/" & Year(TextBox5)) / 7 = Int(DateValue(i & "/1/" & Year(TextBox5)) / 7) Then gün = i
Next
If gün < 2 Then
TextBox6.Text = (DateDiff("w", gün + 2 & "/1/" & Year(TextBox5), TextBox5)) + 1
Else
TextBox6.Text = (DateDiff("w", DateValue(gün + 2 & "/1/" & Year(TextBox5)) - 7, TextBox5)) + 1
End If
End Sub
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
sayın fedeal verdiğiniz kodlarda sorun yok emeğinize sağlık.çok yardımcı oldunuz bugun bana . On Error Resume Next satırını userformu açtığımda tarih otomatik olarak geliyordu burdaki tarihi silince hata veriyor. bunun için koydum. bu tarihi silince hata vermemesini nasıl engellerim.Hatayı şu şekilde veriyor. 11.09.2009 yazısında 11 silip yerine yeni tarih yazarken hata mesajı veriyor
Run time error "13":
type mismatch
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
userform üzerinde textbox17 de E Sütunudaki rakamları toplamasını istiyorum.
Fatura_Takip.TextBox17=Format(Application.WorksheetFunction.Sum(Range("Takip!E:E")), "#.00TL")

şeklinde bir kod yazdım(Necdet Bey tarafından verilmiştir) ve textboxta ,00TL sonucu verdi.

benim E sütununda E1 hücremde faturalar diye yazı var. E2 den itibaren rakamlar başlıyor. Formüldeki
Range("Takip!E:E") kısmını Range("Takip!E2:E") yapıncada hata veriyor.bunun doğrusu yada hata yaptığım yer neresidir.
 
Üst