• DİKKAT

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

Yenilenen satırlarda sayfa numarası verme

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,201
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Sayfada yer alan "ilk satır" Sayfa yapısında tüm sayfalarda yenilecek olan satırlardır.

Burada "H1" hücresinde Toplam sayfa sayısı yazmakta; bunu her bir sayfada; "Sayfa numarası / Toplam Sayfa Sayısı" formatında (1/7, 2/7 , ...... 6/7, 7/7) olarak uygulanmasını istemekteyim.

Özetle sayfayı PDF oluşturulurken her bir sayfanın sağ üst köşesinde ("&[Sayfa]&[ToplamSayfa]") olarak uygulanmasını istemekteyim.

Mevcut formatı bozmadan bu işlemi nasıl yapabilirim?

Bu konuda yardımcı olursanız sevinirim.

iyi Çalışmalar.
 
Merhaba,

"Başlıkları Yazdır" ile ilk satırı her sayfada yenilediğiniz için sayfalarda "L" sütununa referans olacak satırı bulduramadım. Onun yerine headerlar üzerinden işlem yapılsa sizin için uygun olur mu?

Kod:
Sub kacSayfa()

Dim dikeyss, yatayss, toplam, toplamss As Integer

'dikeyss = ActiveSheet.HPageBreaks.Count + 1
'yatayss = ActiveSheet.VPageBreaks.Count + 1
'toplam = dikeyss * yatayss
toplamss = ActiveSheet.PageSetup.Pages.Count
    
    With ActiveSheet.PageSetup
        .RightHeader = "&P" & "/" & toplamss
    End With

End Sub

Kodda yorum satırı olarak işaretlenmiş kısım, dikeydeki, yataydaki ve toplam sayfaların sayılarını ayrı ayrı hesaplamak için kullanılabilir.
 
Merhaba,

"Başlıkları Yazdır" ile ilk satırı her sayfada yenilediğiniz için sayfalarda "L" sütununa referans olacak satırı bulduramadım. Onun yerine headerlar üzerinden işlem yapılsa sizin için uygun olur mu?

Kod:
Sub kacSayfa()

Dim dikeyss, yatayss, toplam, toplamss As Integer

'dikeyss = ActiveSheet.HPageBreaks.Count + 1
'yatayss = ActiveSheet.VPageBreaks.Count + 1
'toplam = dikeyss * yatayss
toplamss = ActiveSheet.PageSetup.Pages.Count
   
    With ActiveSheet.PageSetup
        .RightHeader = "&P" & "/" & toplamss
    End With

End Sub

Kodda yorum satırı olarak işaretlenmiş kısım, dikeydeki, yataydaki ve toplam sayfaların sayılarını ayrı ayrı hesaplamak için kullanılabilir.
Hocam merhaba,
ActiveSheet.PageSetup olayanın dışında çözmemiz gereken bir konu;
Print ederken aşağıdaki kod ile çözümü buldum aslında; sayfaları tek tek print ettiği için sorun çözülüyor.

yalnız PDF kayıt ederken nasıl bir çözüm üreteceğiz? bunu araştırıyorum.

Kod:
Sub PrintWithPageNum()
Dim NumPages As Long, pg As Long
    NumPages = ExecuteExcel4Macro("Get.document(50)")
    For pg = 1 To NumPages
        
       With ActiveSheet
            .Range("J1").Value = pg & " of " & NumPages
            .PrintOut from:=pg, To:=pg
        End With

    Next pg
End Sub

teşekkürler, iyi akşamlar.
 
Merhaba,

Sayfa sayınız fazla değilse her sayfayı ayrı ayrı pdf kaydedip sonra onları birleştirsek?
 
Merhaba,

Sayfa sayınız fazla değilse her sayfayı ayrı ayrı pdf kaydedip sonra onları birleştirsek?

Sayfa sayısı 10 ile 20 arasında PDF birleştirme nasıl olacak?
Excel ortamında her bir sayfayı birleştirerek PDF oluşturmaya devam edilemez mi?
 
Acrobat Reader Pro SDK’ yı referanslara ekleyip birleştirme yapabiliyoruz. Özel sayfa sayısı aralıkları için bence sürekli pdf e sayfa eklemektense tek tek sayfaları numaralı kaydedip ordan ilerlemek daha faydalı olabilir.
 
Acrobat Reader Pro SDK’ yı referanslara ekleyip birleştirme yapabiliyoruz. Özel sayfa sayısı aralıkları için bence sürekli pdf e sayfa eklemektense tek tek sayfaları numaralı kaydedip ordan ilerlemek daha faydalı olabilir.

Kod ile bir çözüm olmaz mı diyorsunuz?
ilginize teşekkürler,
 
Pdf birleştirme üzerinden gidilecekse tek çözüm bu görünüyor. Standart acrobat reader ne yazıkki bunu desteklemediği için pro sürümüne ihtiyaç duyuyoruz. Vba ile pro’yu tetikliyoruz.

Alternatif olarak satır yenilemek yerine, makro ile o satırı her sayfanın başına getirirsek toplu pdf i tek seferde oluşturabiliriz.
 
Merhaba,

"Adobe Acrobat 10 Type Library" ile pdf işlemine ait dosyayı ekliyorum. Belki işinize yarar.
 

Ekli dosyalar

@tamer42,

Ben boş bir excel dosyasında bahsettiğiniz şekilde ilk satırı her sayfada tekrarlanacak şekilde tanımladım. Daha sonra sağ üst köşede "Sayfa numarası / Toplam Sayfa Sayısı" şeklinde tanımlama yaptım. Dosyayı PDF olarak kaydettiğimde aşağıdaki görsel oluştu.

220310
 
@Korhan Ayhan

@tamer42 anladığım kadarıyla, üst bilgi şeklinde değil de; üstte yinelenen satırlarda sayfa numarası / toplam sayfa yazmasını istiyor.

doğrudur, üst bilgi şeklinde değil de; üstte yinelenen satırlarda "Sayfa Numarası / Toplam Sayfa" olarak görünmesini istiyoruz.
aşağıdaki kod da print ederken sayfa-sayfa print aldığı zaman her bir sayfayı bu şekilde numaralandırıyor, yalnız PDF oluşturmada bunu yapamadık.

Kod:
Sub PrintWithPageNum()
Dim NumPages As Long, pg As Long
    NumPages = ExecuteExcel4Macro("Get.document(50)")
    For pg = 1 To NumPages
        
       With ActiveSheet
            .Range("J1").Value = pg & " of " & NumPages
            .PrintOut from:=pg, To:=pg
        End With

    Next pg
End Sub
 
Bu durumda PDF olarak kayıt ederken makro ile ilk önce Sağ-Üst Bilgi olarak tanımlayıp sonuca gidebilirsiniz. İşlem bittikten sonra ise Sağ-Üst Bilgiyi temizleyerek verilerinizin orjinalliğini korumuş olursunuz.
 
Bu durumda PDF olarak kayıt ederken makro ile ilk önce Sağ-Üst Bilgi olarak tanımlayıp sonuca gidebilirsiniz. İşlem bittikten sonra ise Sağ-Üst Bilgiyi temizleyerek verilerinizin orjinalliğini korumuş olursunuz.

Korhan hocam ilginize teşekkürler,
ilgili hücreye bu konuda bir formül yazılarak çözüm üretilemz mi?

biraz araştırdığımda bu konuda "&[Sayfa]&[ToplamSayfa]" (Türkçe) şeklinde bir kaç yazım şekli gördüm, fakat hücreye nasıl uygulanabilir bilemiyorum.
iyi Çalışmalar.
 
Üst bilgiyi kullanmayı istememenizin özel bir nedeni var mı?
 
Merhaba,

İstediğiniz bu mu?
Kod:
ActiveSheet.PageSetup.RightHeader = "&P / " & [H1]
 
Üst bilgiyi kullanmayı istememenizin özel bir nedeni var mı?

Korhan Hocam Sayfanın üzerinde ilk 4 satırda tablo var ve ( 2 sütun ve 4 satır olan) tablonun bir formatı mevcut, tabloyu üst bilgi olarak kullanamıyoruz.
aslında 1. sayfanın üzerinde yenilenen 4 satır var, diğer bilgiler tüm sayfalarda sabit, sadece değişken olan "Sayfa No"

Tarih:
Referens No:
Döküman No:
Sayfa No:


iyi Çalışmalar.
 
Örnek dosya paylaşabilir misiniz?
 
Geri
Üst