AccessTr.neT
Sayfa Alt Toplamlarını Almak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Sayfa Alt Toplamlarını Almak (/konu-sayfa-alt-toplamlarini-almak.html)

Sayfalar: 1 2 3 4


RE: Sayfa Alt Toplamlarını Almak - berduş - 13/05/2020

Işlemler isim olan sayfalar üzerinde yapılıyorsa ve isimli sayfalar A1 ile aynıysa döngüyü ona göre kurmamız daha uygun olmaz mi mesela işlem gören sayfa KEMAL BULUT ise bu sayfanın A1 hücresi de KEMAL BULUT o durumda
If LCase(ActiveSheet.Name) = Lcase(Range("A1")) then 
    If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
    alttoplamAl
Else
    ListBox1.Clear    
    Exit Sub
End if
Var:

Yada
If LCase(ActiveSheet.Name) <> lcase(range("A1")) Then
    ListBox1.Clear
    Exit Sub
End If
If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
alttoplamAl
var:
gibi


RE: Sayfa Alt Toplamlarını Almak - feraz - 13/05/2020

(13/05/2020, 01:37)berduş yazdı: Işlemler isim olan sayfalar üzerinde yapılıyorsa ve isimli sayfalar A1 ile aynıysa döngüyü ona göre kurmamız daha uygun olmaz mi mesela işlem gören sayfa KEMAL BULUT ise bu sayfanın A1 hücresi de KEMAL BULUT o durumda
If LCase(ActiveSheet.Name) = Lcase(Range("A1")) then 
    If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
    alttoplamAl
Else
    ListBox1.Clear    
    Exit Sub
End if
Var:

Yada
If LCase(ActiveSheet.Name) <> lcase(range("A1")) Then
    ListBox1.Clear
    Exit Sub
End If
If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
alttoplamAl
var:
gibi
Aktif sayfa ve A1 deki sayfa adı aynı yazılmazsada sorun olabilir belki.Biz kod yazalım doğru sayfa adlaını konu sahibi halleder abey Img-grin O kadarda yapsın artık Img-grin

(13/05/2020, 01:37)berduş yazdı: Işlemler isim olan sayfalar üzerinde yapılıyorsa ve isimli sayfalar A1 ile aynıysa döngüyü ona göre kurmamız daha uygun olmaz mi mesela işlem gören sayfa KEMAL BULUT ise bu sayfanın A1 hücresi de KEMAL BULUT o durumda
If LCase(ActiveSheet.Name) = Lcase(Range("A1")) then 
    If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
    alttoplamAl
Else
    ListBox1.Clear    
    Exit Sub
End if
Var:

Yada
If LCase(ActiveSheet.Name) <> lcase(range("A1")) Then
    ListBox1.Clear
    Exit Sub
End If
If WorksheetFunction.CountA(Range("A7:A" & Rows.Count)) = 0 Then GoTo var
alttoplamAl
var:
gibi
Normalde mantıken şöyle daha iyi olur.Sayfaların activate koduna A1 hücresi için [A1]= activesheet.name  diyede yazsa daha garanti olur Img-grinBöylece Lcase yazmayada gerek kalmaz.Yavaş yavaş düzeltiyoruz projeyi Img-grin


RE: Sayfa Alt Toplamlarını Almak - berduş - 13/05/2020

Sistem sayfa isimlendirmesini nasil yapiyor, musteri ismi nereye hangi kodla yaziliyor yeterince inceleme imkanım olmadığı için bilmiyorum ama kodlar standart olarak g5, h5 gibi nokta atışı hücrelerden veri aldığı için A1 de isim olarak doğrudur diye varsayıyorum.


RE: Sayfa Alt Toplamlarını Almak - feraz - 13/05/2020

Berduş hocam bence A1 den almadan direkt activeshhet.name olarak almak daha mantıklı.Sonuçta ikiside olur tabii A1 e doğru yazılırsa sayfa ad yanlış yazılırsa problem.O yüzden sayfa adından işlem yapmak bence daha iyi.


RE: Sayfa Alt Toplamlarını Almak - m_demir - 13/05/2020

Hocalarım Çok, çok teşekkürler ellerinize sağlık. Tam istediğim gibi olmuş.

Hocalarım konuyu taşıyabilirsiniz. Saygılar.


RE: Sayfa Alt Toplamlarını Almak - berduş - 13/05/2020

Orada da şöyle bir sorun çıkabilir katılması istenmeyen sayfa adları değiştirilebilir yada yeni sayfalar eklenip gözardı edilme kodu unutulabilir. A1 hücresi veriyi nereden alıyor? Ya sayfa isimlendirme hangi kodla yapılıyor? Kodları inceleyebildiniz mi? A1'e yanlış veri girebilme ihtimali var mı yoksa kodla kesin olarak müşteri adı mi veriliyor. Sayin @m_demir gerekli açıklamayı yapabilecek durumda.