AccessTr.neT

Tam Versiyon: Excel De Her Sayfada Yinelenen Kısımdaki Hücreye (k5) Sayfa Sayısı Ekleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Arkadaşlar merhaba.
Ekteki tabloda her sayfada yinelenen kısımdaki hücreye (k5) sayfa sayısı ve sayfa toplamı verecek formül yada Vba fonsiyonları var mı?Yardım eden olursa çok sevinirim.
Abdulvahap GÜNEŞ
Merhaba @Vahap5244,

ilgili sayfanın Vba koduna aşağıdaki kodu yapıştırın ve deneyin. Sayfa kodu alanına yapıştırın. Sayfa sayımı için sayfa sonuna kadar bir kez inmeniz gerekir.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim say As Integer
    Dim sayi As Integer
    Dim adr As VPageBreak
    Dim hcr As HPageBreak
    Dim ilkSNo As Integer
    sayi = 1
    say = 1
    If ActiveSheet.PageSetup.Order = xlDownThenOver Then
        sayi = ActiveSheet.HPageBreaks.Count + 1
    Else
        say = ActiveSheet.VPageBreaks.Count + 1
    End If
    ilkSNo = 1
    For Each adr In ActiveSheet.VPageBreaks
        If adr.Location.Column > ActiveCell.Column Then Exit For
        ilkSNo = ilkSNo + sayi
    Next
    For Each hcr In ActiveSheet.HPageBreaks
        If hcr.Location.Row > ActiveCell.Row Then Exit For
        ilkSNo = ilkSNo + say
    Next
    Range("K5").NumberFormat = "@"
    Range("K5") = ilkSNo & " / " & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
End Sub
(18/08/2021, 12:35)boolean_ yazdı: [ -> ]Merhaba @Vahap5244,

ilgili sayfanın Vba koduna aşağıdaki kodu yapıştırın ve deneyin. Sayfa kodu alanına yapıştırın. Sayfa sayımı için sayfa sonuna kadar bir kez inmeniz gerekir.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim say As Integer
    Dim sayi As Integer
    Dim adr As VPageBreak
    Dim hcr As HPageBreak
    Dim ilkSNo As Integer
    sayi = 1
    say = 1
    If ActiveSheet.PageSetup.Order = xlDownThenOver Then
        sayi = ActiveSheet.HPageBreaks.Count + 1
    Else
        say = ActiveSheet.VPageBreaks.Count + 1
    End If
    ilkSNo = 1
    For Each adr In ActiveSheet.VPageBreaks
        If adr.Location.Column > ActiveCell.Column Then Exit For
        ilkSNo = ilkSNo + sayi
    Next
    For Each hcr In ActiveSheet.HPageBreaks
        If hcr.Location.Row > ActiveCell.Row Then Exit For
        ilkSNo = ilkSNo + say
    Next
    Range("K5").NumberFormat = "@"
    Range("K5") = ilkSNo & " / " & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
End Sub






Merhaba Boolean Hocam. Ellerinize sağlık. Dediğinizi yaptım. Kodu sayfaya kopyaladım. Sonra son sayfaya kadar indim. Hücre sayfa sayısı ve toplam çıktı ancak yazdırırken bütün sayfalarda 1/5 şeklinde yazdırıyor. diğer sayfa numaralarını değiştirmiyor. Bunu nasıl yapabilirim? Teşekkür ederim.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim say As Integer
    Dim sayi As Integer
    Dim adr As VPageBreak
    Dim hcr As HPageBreak
    Dim ilkSNo As Integer
    sayi = 1
    say = 1
    If ActiveSheet.PageSetup.Order = xlDownThenOver Then
       
PHP Kod:
sayi ActiveSheet.HPageBreaks.Count 

    Else
        say = ActiveSheet.VPageBreaks.Count + 1
    End If
    ilkSNo = 1
    For Each adr In ActiveSheet.VPageBreaks
        If adr.Location.Column > ActiveCell.Column Then Exit For
        ilkSNo = ilkSNo + sayi
    Next
    For Each hcr In ActiveSheet.HPageBreaks
        If hcr.Location.Row > ActiveCell.Row Then Exit For
        ilkSNo = ilkSNo + say
    Next
    Range("AK11").NumberFormat = "@"
    Range("AK11") = ilkSNo & " / " & Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
End Sub




İşaretli kodda hata veriyor.