Sıralı Textbox'lara formül ile veri aktarmak

Katılım
12 Mayıs 2005
Mesajlar
15
Merhaba Üstadlarım,
Aşağıdaki işlemi daha kısa yoldan yapmak istiyorum. Bu konuda yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
İyi çalışmalar.

TX1 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2016")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2016"))), "#,##0.00")
TX2 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2017")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2017"))), "#,##0.00")
TX3 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2018")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2018"))), "#,##0.00")
TX4 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2019")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2019"))), "#,##0.00")
TX5 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2020")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2020"))), "#,##0.00")
TX6 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2021")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2021"))), "#,##0.00")
TX7 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2022")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2022"))), "#,##0.00")
TX8 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2023")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2023"))), "#,##0.00")
TX9 = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(CDate("01.01.2024")), wsYünData.Range("A:A"), "<=" & CLng(CDate("31.12.2024"))), "#,##0.00")
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Deneyiniz...
Kod:
Dim a As Byte
ReDim TX(1 To 9)
For a = LBound(TX) To UBound(TX)
    TX(a) = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(DateSerial(2015 + a, 1, 1)), wsYünData.Range("A:A"), "<=" & CLng(DateSerial(2015 + a, 12, 31))), "#,##0.00")
Next
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
İyi çalışmalar...
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,330
Excel Vers. ve Dili
2007 Türkçe
Tekrar merhaba,
Sorunuzu tesadüfen yeniden incelediğimde sorunuzu yanlış anlamış olabileceğimi fark ettim. Bu yüzden sizi yanlış yönlendirmiş olmak istemem.
Ben TX1, TX2... gibi değerlerin değişken olduğunu zannetmiştim. Eğer bu ifadeler Textbox isimleri ise kodun aşağıdaki şekilde düzenlenmesi doğru olacaktır. Eğer sorununuz çözüme kavuştuysa lütfen bu mesajımı dikkate almayınız.
İyi çalışmalar...
Kod:
Dim a As Byte
For a = 1 To 9
    Controls("TX" & a) = Format(Application.WorksheetFunction.SumIfs(wsYünData.Range("H:H"), wsYünData.Range("A:A"), ">=" & CLng(DateSerial(2015 + a, 1, 1)), wsYünData.Range("A:A"), "<=" & CLng(DateSerial(2015 + a, 12, 31))), "#,##0.00")
Next
 
Katılım
12 Mayıs 2005
Mesajlar
15
Teşekkür ederim.
Emeğinize sağlık.
İyi çalışmalar dilerim.
 
Üst