• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Her çalışma sayfasındaki a4 hücrelerinin toplamını tek bir hücrede almak

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
Her çalışma sayfasındaki a4 hücrelerinin toplamını tek bir hücrede almak

sn hocalarım herkese hayırlı günler

yapmaya çalıştığım bir döngüyü tamamlayamadım.bu konuda bana yardımcı olabilir misiniz?

bir çalışma kitabına buton ile çalışma sayfaları ekliyorum.(kaç tane olduğu belli değil ihtiyaç oldukça ekleniyor.)
yapmak istediğim bir döngü kurarak sayfa1 deki a1 hücresine bütün çalışma sayfalarının a4 hücrelerindeki verilerin toplamını aldırmak.şöyle denedim;

For a = 1 To Sheets.Count
Sheets("sayfa1").Range(a1) = Sheets(a).Range(a4) +...
Next

yardımlarınız için şimdiden teşekkür ederim.
saygılar:yardim:
 
Şu şekilde deneyiniz.

İlkönce hücrenin toplama işlemine uygun olup olmadığına bakıyoruz. Sonra hucre adlı değişkenin içinde, -döngü ilerledikçe- A4 hücrelerinin toplamını biriktiriyoruz.

Kod:
hucre = 0
For i = 1 To Sheets.Count
    If Sheets(i).Name = "Sayfa1" Then GoTo 10
    If IsNumeric(Sheets(i).[A4]) Then: hucre = hucre + Sheets(i).[A4]
10
Next i
Sheets("Sayfa1").[A4] = hucre
 
sn fpc çok teşekkür ederim aynen istediğim böyleydi ancak bu kodlarda anlayamadığım bişeyler var acaba zahmet olmazsa açıklama yapabilir misiniz?
 
Şöyle açıklayayım.​

Kod:
hucre = 0
İlk başta hucre değişkeni boşaltılıyor(sıfırlanıyor). Çünkü hucre değişkeni public olarak (aldığı değere projenin her yerinde ulaşılabilir) veya general declaration'da tanımlanırsa, eski değerini hatırlar ve bu da bu prosedür için işimize gelmez. Onun için; dünyayı yeniden kuruyormuş gibi, hucre adlı değişkenini resetlemiş oluyoruz.​

Kod:
For i = 1 To Sheets.Count
Bu satırla, bütün sayfaları tara diyoruz.
Kod:
If Sheets(i).Name = "Sayfa1" Then GoTo 10
Eğer denk gelen sayfanın ismi Sayfa1 ise bunu atla ve 10'a git. Çünkü Sayfa1'in A4 hücresini okumasına gerek yok, biz buraya zaten diğer sayfaların A4 hücrelerinin toplamı yazacağız.
Kod:
If IsNumeric(Sheets(i).[A4]) Then: hucre = hucre + Sheets(i).[A4]
Eğer denk gelen sayfanın A4 hücresindeki değeri, nümerik(sayısal) ise; hucre değişkenine, A4 hücresinin değerini ekle. Eğer bu değer nümerik değilse, bir sonraki satıra geç (yani bu sayfayı atla)
Kod:
10
Gidilmesi istenen satır belirteci
Kod:
Next i
döngünün sonu
Kod:
Sheets("Sayfa1").[A4] = hucre
Bütün sayfalar tarandıktan sonra, hucrenin içinde biriken A4 değerleri toplamını sayfa1'in A4 hücresine yaz.​
 
süpersiniz çok teşekkür ederim ne kadar teşşekkür etsem azdır hocam. saygılar
emeğinize sağlık bana zaman ayırdığını için de teşekkür ederim.
 
merhaba hocam aynı işlemi sadece a4 için değilde kople satı yada a4 den k4 e kadar şeklinde yapabilirmiyiz. Teşekürler....
 
Örnek üzerinden gidersek; A4:K4 aralığı için; şu şekilde

Kod:
hucre = 0
For i = 1 To Sheets.Count
    If Sheets(i).Name = "Sayfa1" Then GoTo 10
        For j = 1 To 11
            If IsNumeric(Sheets(i).Cells(4, j)) Then: hucre = hucre + Sheets(i).Cells(4, j)
        Next j
10
Next i
Sheets("Sayfa1").[A4] = hucre
 
hocom demek istediğim tüm sayfalardaki a4 leri sayfa1 deki a4 e , tüm sayfalardaki b4 leri sayfa1 deki b4 e ve k4 ekadar bu şekilde toplasın istemiştim teşekürler.....
 
Son düzenleme:
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub SAYFALARI_TOPLA()
    [A4:K4] = ""
    For X = 1 To Sheets.Count
    For Y = 1 To 11
    Cells(4, Y) = Cells(4, Y) + Sheets(X).Cells(4, Y)
    Next: Next
End Sub
 
Geri
Üst