Soru for - next döngüsü hakk.

GursoyC

Altın Üye
Katılım
7 Ocak 2015
Mesajlar
553
Excel Vers. ve Dili
Office 2024 Türkçe
Altın Üyelik Bitiş Tarihi
17-05-2028
Merhaba,
daha önce sorduğum ve yanıt aldığım bir konuda bir tık ileri adıma ihtiyacım var ancak for-next döngüsü kullanımına yabancı olduğum için çözemedim.,

Aşağıdaki kodla (kodlar sayın Ömer Baran bey'e aittir) Sayfa numarası 17'nin üzerindeki tüm sayfaların [E51] hücrelerini Sayfa ismi 1 olan sayfamın [E53] nolu hücresinde toplatıyorum.

Aynı kodlara hangi eklemeyi yapmam gerekir ki; yine sayfa numarası 17'den büyük olan tüm sayfaların [AI80] numaralı hücrelerini Sheets("1").[E55]'te, ve [AI78] numaralı hücrelerini Sheets("1").[E57]'de toplatabileyim? Kodlara bakıp mantığını kurup birkaç deneme yaptım ama olmadı.

Yardımcı olabilir misiniz?
Teşekkür ederim.

Kod:
For shf = 1 To ThisWorkbook.Worksheets.Count
        If (1 * Mid(Sheets(shf).CodeName, 6, 255)) > 17 Then kargo = kargo + Sheets(shf).[E51]
        Next:
        Sheets("1").[E53] = kargo
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
ben de >17 koşulunu farklı bir yöntem ile test edeyim.

Kod:
Sub test()

    Dim kargo1 As Double, kargo2 As Double, kargo2 As Double
 
    For shf = 1 To ThisWorkbook.Sheets.Count
        If Replace(Sheets(shf).CodeName, "Sheet", "") > 17 Then
            kargo1 = kargo1 + Sheets(shf).Range("E51").Value
            kargo2 = kargo2 + Sheets(shf).Range("AI80").Value
            kargo3 = kargo3 + Sheets(shf).Range("AI78").Value
        End If
    Next
 
    With Sheets("1")
        .Range("E51").Value = kargo1
        .Range("E55").Value = kargo2
        .Range("E57").Value = kargo3
    End With

End Sub
 
Üst