• DİKKAT

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

Sayfalarda toplama

Katılım
29 Aralık 2005
Mesajlar
159
Excel Vers. ve Dili
Microsoft Office Excel 2003 TR
topla sayfasındaki b sutununa …a sutunu deger alarak …tüm sayfalardaki a sutunundaki tarihlere göre ödemeleri f sutunundaki degerleri degerlerine göre topla sayasında toplamak mümkünmü .. dosya ekte.
 

Ekli dosyalar

  • sor.xls
    sor.xls
    77.5 KB · Görüntüleme: 17
Merhaba,

Öncelikle toplama dahil etmek istediğiniz sayfa adlarını topla sayfasında H sütununa sırası ile yazın. Olmayan yada yanlış isimde sayfa adı yazarsanız formül hata verir.

Daha sonra Ekle / Ad / Tanımla ile sayfalar adını vererek,

Kod:
=DEVRİK_DÖNÜŞÜM((KAYDIR($H$1;;;BAĞ_DEĞ_DOLU_SAY($H:$H))))

Formülünü tanımlayın.

Bu işlemden sonra;

B2 hücresine yazıp alt satırlara kopyalayın.

Kod:
=TOPLA.ÇARPIM(--(METNEÇEVİR(S(KAYDIR(DOLAYLI("'"&sayfalar&"'!A3:A100")
 ;SATIR(DOLAYLI("3:100"))-3;0;1));"aaaayyyy")=A2&$A$1)
  ;S(KAYDIR(DOLAYLI("'"&sayfalar&"'!F3:F100");SATIR(DOLAYLI("3:100"))-3;0;1)))

Formülü D2 hücresine yazarken,

A2&$A$1 bölümü yerine C2&$C$1 yazıp alt satırlara kopyalarsınız.

.
 
Teşekkürler Ömer ßey .. sayfa ismi olmayınca hata vermese yada yeni açılan sayfanın ismini direk h sutununa yazdıra bilsek hata vermiyecegini sanıyorum ..
yeni sayfa açmak için şü kodu kullanıyorum..
kod:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
Dim Sayfa As String

If ActiveSheet.Name <> "index" Then
Sheets("index").Select
Else
Sayfa = Target.Value
If Sayfa <> "" Then Sheets(Sayfa).Select
End If
Exit Sub
Son:
If Intersect(Target, Sheets("index").[B:B]) Is Nothing Then Exit Sub
Sor = MsgBox(Target.Value & " Adlı Sayfa Yok, Eklemek İster Misiniz? ", vbYesNo, Target.Value & " Adlı Sayfanın Açılması")
If Sor = vbYes Then
Sheets("şablon").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Target.Value
MsgBox Target.Value & " Sayfası Açıldı......", vbOKOnly, "TkR"
End If
End Sub

Bu koda ilave olarak yeni açılan sayfanın ismini 'h' sutununa sırasıyla formüle yazdıra ßlirsek hata almayız umarım ...

hayırlı günler
 
Merhaba,

Sayfa ekleme kodunuzdaki MSGBOX uyarısında önceki satıra aşağıdaki kodu ilave edip deneyin.

Kod:
Sheets("topla").Cells(Rows.Count, "H").End(3).Offset(1, 0) = Target.Value
 
Teşekkürler Korhan Ayhan bey.. gerçekten harika oldu . Yalınız açmış oldugumuz sayfayı sildigimzde topla sayfasındaki ismi kaldıgı için yine hata veriyor.. herhangi bir sayfayı sildigimizde topla sayfasındaki isminide sile bilirmiyiz...

... silinmeside su sorunu halletmiyor elle sildigimiz zaman bile aynı hatayı veriyor.. ..ama sayfa isimlerini aktar marcosu varmı bilmiyorum .. topla sayfasına bir butonla sayfa isimlerini aktara bilirsem ve sayfada silsem bu butona bastıgım zaman güncelleyecegini düşünerek .. arama yapıyorum hayırlı günler..
 
Son düzenleme:
Merhaba,

Sayfa ekleme kodunuzun bulunduğu pencereye yani THISWORKBOOK bölümüne aşağıdaki kodu uygulayın.

Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim Sayfa As Worksheet, Satir As Integer
    
    Satir = 1
    Sheets("topla").Range("H:H").ClearContents
    
    For Each Sayfa In ThisWorkbook.Worksheets
        If UCase(Replace(Replace(Sayfa.Name, "ı", "I"), "i", "İ")) <> "TOPLA" Then
            Sheets("topla").Cells(Satir, "H") = Sayfa.Name
            Satir = Satir + 1
        End If
    Next
End Sub
 
Emeginizi esirgemediginiz için Teşekkürler Hayırlı günler iyi çalışmalar..
 
Geri
Üst