Sayfalardaki aynı hücreyi toplama

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Arkadaşlar. Umarım doğru anlatabilirim. Ben bir dosya yaptım. İçinde bir sürü sayfa var, ve bir sürü sayfa eklenecek. Yani sayfa ekle diyorum sayfa adı girip sayfa adı girerek sayfa eklemiş oluyorum.
Şimdi şöyle. Bütün sayfalarda G36 (olsun mesela) numaralı hücrelerin toplamını versin bana. (sonradan eklenenleri de eklesin üzerine ama) ANA SAYFA adlı sayfada "GENEL TOPLAM" dediğim yere yazsın.
Umarım imkansız bir şey istemedim.
Şimdiden çok ama çok teşekkür ederim.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.

=TOPLA('ilksayfaadı:sonsayfaadı'!G36)

İstediğiniz bu değilse küçük bir örnek dosya ekleyerek açıklar mısınız.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Merhaba,

Deneyiniz.

=TOPLA('ilksayfaadı:sonsayfaadı'!G36)

İstediğiniz bu değilse küçük bir örnek dosya ekleyerek açıklar mısınız.
Hocam, ilginiz için teşekkür ederim. Hemen deniyorum olmazsa örnek dosya hazırlarım.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
@Ömer hocam, ya olmadı ya ben yapamadım.
Örnek dosya ekledim.
Teşekkür ederim.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
İlk ve son sayfa bölümlerini kendi dosyanıza uyarlamanız gerekirdi.

Deneyiniz.

=TOPLA('wer:yuo'!B3)
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
İlk ve son sayfa bölümlerini kendi dosyanıza uyarlamanız gerekirdi.

Deneyiniz.

=TOPLA('wer:yuo'!B3)
Hocam yazdım, olanları topladı. Ancak yeni bir sayfa açtım. B3 hücresine rakam yazdım. Üzerine toplamadı.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Eğer yeni açtığınız sayfayı you sayfasından önceye taşırsanız toplar. Yani ilk ve son sayfa her zaman formülde yazdığı gibi olmalı yeni sayfaları bu iki sayfa aralığına taşımanız gerekir.
Bu şekilde işinize yaramazsa makro kullanmak gerekir?
Ya toplam makro ile yapılır yada açtığınız sayfayı makro ile bu aralığa taşınır.?
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Eğer yeni açtığınız sayfayı you sayfasından önceye taşırsanız toplar. Yani ilk ve son sayfa her zaman formülde yazdığı gibi olmalı yeni sayfaları bu iki sayfa aralığına taşımanız gerekir.
Bu şekilde işinize yaramazsa makro kullanmak gerekir?
Ya toplam makro ile yapılır yada açtığınız sayfayı makro ile bu aralığa taşınır.?
Hocam, sayfalar gözükmüyor zaten. Butonla açılan her sayfayı en sona açıyor. Yani taşıma olanağı yok. Bunu makro ile yapmak mümkün değil mi.
Size de zahmet veriyorum ama.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Yeni sayfaları nasıl açıyorsunuz.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Çözüm isteğine göre farklı bir çok yol uygulanabilir. Makro ile iki örnek;

Buton ile hesaplama;
Kod:
Sub topla()
   
    Dim i As Integer
   
    Application.ScreenUpdating = False
    Sheets("ANA SAYFA").Select
    Range("C2") = ""
   
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                Range("C2") = Range("C2") + .Range("B3")
            End If
        End With
    Next i
   
End Sub

KTF ile hesaplama; kullanımı hücrede: =sayfada_topla(B3)
Kod:
Function sayfada_topla(hucre As Range)
   
    Dim i As Integer, topla As Double

    Application.Volatile True

    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                topla = topla + .Range("B3")
            End If
        End With
    Next i
   
    sayfada_topla = topla

End Function
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Çözüm isteğine göre farklı bir çok yol uygulanabilir. Makro ile iki örnek;

Buton ile hesaplama;
Kod:
Sub topla()
  
    Dim i As Integer
  
    Application.ScreenUpdating = False
    Sheets("ANA SAYFA").Select
    Range("C2") = ""
  
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                Range("C2") = Range("C2") + .Range("B3")
            End If
        End With
    Next i
  
End Sub

KTF ile hesaplama; kullanımı hücrede: =sayfada_topla(B3)
Kod:
Function sayfada_topla(hucre As Range)
  
    Dim i As Integer, topla As Double

    Application.Volatile True

    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                topla = topla + .Range("B3")
            End If
        End With
    Next i
  
    sayfada_topla = topla

End Function
Hocam, butonla olan sorunsuz çalıştı. Butona tıklasak yeterli. Sizi daha fazla meşgul etmeye gerek yok.
Çok teşekkür ederim. Emeğinize sağlık.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sorun değil. Farklı bir düşünceniz farsa o şekilde de yeniden yazabilirim.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
@Ömer hocam, rahatsız ediyorum yine ama. Çok güzel çalışıyor ama, mesela test sayfasında B3 hücresinde 1000 yazıyor. Fiyat güncellenmiş. 2000 olmuş ANA SAYFA'da 2000 yazmıyor. 2000 rakamını 1000'in üzerine ekleyip 3000 yazıyor.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Çözüm isteğine göre farklı bir çok yol uygulanabilir. Makro ile iki örnek;

Buton ile hesaplama;
Kod:
Sub topla()
  
    Dim i As Integer
  
    Application.ScreenUpdating = False
    Sheets("ANA SAYFA").Select
    Range("C2") = ""
  
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                Range("C2") = Range("C2") + .Range("B3")
            End If
        End With
    Next i
  
End Sub

KTF ile hesaplama; kullanımı hücrede: =sayfada_topla(B3)
Kod:
Function sayfada_topla(hucre As Range)
  
    Dim i As Integer, topla As Double

    Application.Volatile True

    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> "ANA SAYFA" Then
                topla = topla + .Range("B3")
            End If
        End With
    Next i
  
    sayfada_topla = topla

End Function
Hocam KTF ne demek?
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Yeni sayfaları nasıl açıyorsunuz.
Kod:
Sub SAYFA_KOPYALA()
    Dim SAYFA_ADI As Variant

    SAYFA_ADI = Application.InputBox("sayfa adı giriniz.")

    If SAYFA_ADI = False Then
    MsgBox "İşleminiz iptal edilmiştir.", vbInformation
    Exit Sub: End If

    If SAYFA_ADI = "" Then
    MsgBox "Lütfen Sayfa adı giriniz. İşleminiz iptal edilmiştir.", vbInformation
    Exit Sub: End If

    Sheets("SABLON").Copy after:=Sheets(Sheets.Count)
  
    On Error Resume Next
    ActiveSheet.Name = SAYFA_ADI
    If Err = 1004 Then
    MsgBox "Aynı isimde sayfa bulunmaktadır. Eklenen son sayfa silinecektir.", vbCritical, "Dikkat !"
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
 
    End If
  
End Sub
SABLON adlı sayfayı kopyalıyor hocam.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Hocam KTF ne demek?
KTF: Kullanıcı Tanımlı Fonksiyon

Makro kullanarak yerleşik fonksiyon gibi istediğimiz şartları vererek yeni bir fonksiyon oluşturduk. Verdiğim kodları module kopyalayıp sayfada herhangi bir hücreye formülde olduğu gibi,

=sayfada_topla(B3)

yazarsanız istediğiniz sonucu alırsınız.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Anladım, diğer yolla çözüldüğü için buna gerek kalmıyor sanırım.
Hocam, sütunda son dolu hücreyi bularak rakam geldiği için. Sütun boş olursa #YOK yazdığı için I1001 hücresinde. Bu sefer toplama yapmıyor. TYPE MISMATCH yazıyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Tam söylediğinizi anlayamadım, diğer açtığınız konuyla bağlantılı sanırım.

=EĞERHATA(ARA(2;1/(I6:I1000<>"");I6:I1000);0)
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Tam söylediğinizi anlayamadım, diğer açtığınız konuyla bağlantılı sanırım.

=EĞERHATA(ARA(2;1/(I6:I1000<>"");I6:I1000);0)
Hocam, bu benim istediğim gibi olmamış. İstediğimden hayal ettiğimden 100 kat süper olmuş 😊
Çok teşekkür ederim. Emeğinize sağlık.
 
Üst