Çözüldü Çıktı Sayısı Kadar, Sayfaların Üzerine Sayfa Sayılarını Yazdırmak..

Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Excel dosyasında çıktı sayısı kadar belirlediğimiz yere (alana) sayfa sayılarını yazdırmak mümkün mü?
Bu işlem yapılabiliyorsa nasıl yapabileceğimi anlatır mısınız?

Teşekkürler.
 
Katılım
20 Şubat 2007
Mesajlar
525
Excel Vers. ve Dili
2007 Office, Tr
Merhaba,
Excel için
* Sayfa Düzeni
* Sayfa yapısı
* Üst/Alt bilgi
* Özel alt bilgi
* Sayfa numarası ekle (tek tek sayfaların numarasını verir) / Sayfa sayısı ekle (toplam sayfayı verir)

Word için
* Ekle
* Sayfa numarası
* Sayfanın sonu
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Merhaba,
Excel için
* Sayfa Düzeni
* Sayfa yapısı
* Üst/Alt bilgi
* Özel alt bilgi
* Sayfa numarası ekle (tek tek sayfaların numarasını verir) / Sayfa sayısı ekle (toplam sayfayı verir)

Word için
* Ekle
* Sayfa numarası
* Sayfanın sonu
Bu çıktı aldığımız sayfaların sayılarını yazıyor eve ama benim yukarıda da anlattığım gibi çıktı sayısı kadar yazdırmak.
Örneğin excel sayfamız veya word sayfamız 1 tane olsun ben bu sayfalardan 20 tane çıktı alacağım ve bunların üzerine 1 den 20 ye kadar yazdırılmasını istiyorum.
Eğer bu şekilde yazılmıyorsa başka nasıl bir yol izleye bilirim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Word makroları konusunda bilgim yok.

Excelde aşağıdaki makroyu kullanırsanız size kaç nüsha yazdırılacağını sorar ve girdiğiniz sayı kadar yazdırır. Yazdırmadan önce F1 hücresine kaçıncı nüsha olduğunu yazar:

PHP:
Sub yaz()
adet = InputBox("Kaç nüsha yazdırılacak?", "Nüsha Sayısı")
If IsNumeric(adet) Then
    For i = 1 To adet
        [F1] = i
        PrintOut
    Next
End If
End Sub
Not: Kağıt ve toner israfını önlemek için deneme yaparken nüsha sayısını düşük tutmanızı tavsiye ederim.
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Word makroları konusunda bilgim yok.

Excelde aşağıdaki makroyu kullanırsanız size kaç nüsha yazdırılacağını sorar ve girdiğiniz sayı kadar yazdırır. Yazdırmadan önce F1 hücresine kaçıncı nüsha olduğunu yazar:

PHP:
Sub yaz()
adet = InputBox("Kaç nüsha yazdırılacak?", "Nüsha Sayısı")
If IsNumeric(adet) Then
    For i = 1 To adet
        [F1] = i
        PrintOut
    Next
End If
End Sub
Not: Kağıt ve toner israfını önlemek için deneme yaparken nüsha sayısını düşük tutmanızı tavsiye ederim.
Hocam teşekkürler. İlk dakikadan beri denemeye devam ediyorum :) Umarım başarırım.
 
Katılım
20 Şubat 2007
Mesajlar
525
Excel Vers. ve Dili
2007 Office, Tr
Excel için alternatif,
Sayfa alt orta kısmına numaraları yazar.
Kod:
Sub OzelYaz()
    Dim s As Integer, i As Integer

    s = Application.InputBox("Kaç Sayfa Yazdırayım", Type:=2)
    Application.EnableEvents = False
    For i = 1 To s
        ActiveSheet.PageSetup.CenterFooter = i
        ActiveSheet.PrintOut
    Next i
    Application.EnableEvents = True
    Cancel = True

End Sub
Word için önce sayfa altına bir adet yer imi ekleyin ve ismini Baski olarak girin
Kod:
Sub OzelYaz()
Dim BmName As String
Dim BmRange As Object
s = InputBox("Kaç Sayfa Yazdırayım", "Baskı Adedi")

For i = 1 To s
If ActiveDocument.Bookmarks.Exists("Baski") Then
    BmName = "Baski"
    Set BmRange = ActiveDocument.Bookmarks(BmName).Range
    BmRange.Text = i
    ActiveDocument.Bookmarks.Add Name:=BmName, Range:=BmRange
End If
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
         ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
Next
Cancel = True
End Sub
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Word makroları konusunda bilgim yok.

Excelde aşağıdaki makroyu kullanırsanız size kaç nüsha yazdırılacağını sorar ve girdiğiniz sayı kadar yazdırır. Yazdırmadan önce F1 hücresine kaçıncı nüsha olduğunu yazar:

PHP:
Sub yaz()
adet = InputBox("Kaç nüsha yazdırılacak?", "Nüsha Sayısı")
If IsNumeric(adet) Then
    For i = 1 To adet
        [F1] = i
        PrintOut
    Next
End If
End Sub
Not: Kağıt ve toner israfını önlemek için deneme yaparken nüsha sayısını düşük tutmanızı tavsiye ederim.
Hocam sanırım ben yapamadım. Deniyorum ama olmuyor. Çıktı sayısını soruyor fakat numaraları yazmıyor.
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Excel için alternatif,
Sayfa alt orta kısmına numaraları yazar.
Kod:
Sub OzelYaz()
    Dim s As Integer, i As Integer

    s = Application.InputBox("Kaç Sayfa Yazdırayım", Type:=2)
    Application.EnableEvents = False
    For i = 1 To s
        ActiveSheet.PageSetup.CenterFooter = i
        ActiveSheet.PrintOut
    Next i
    Application.EnableEvents = True
    Cancel = True

End Sub
Word için önce sayfa altına bir adet yer imi ekleyin ve ismini Baski olarak girin
Kod:
Sub OzelYaz()
Dim BmName As String
Dim BmRange As Object
s = InputBox("Kaç Sayfa Yazdırayım", "Baskı Adedi")

For i = 1 To s
If ActiveDocument.Bookmarks.Exists("Baski") Then
    BmName = "Baski"
    Set BmRange = ActiveDocument.Bookmarks(BmName).Range
    BmRange.Text = i
    ActiveDocument.Bookmarks.Add Name:=BmName, Range:=BmRange
End If
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
         ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
Next
Cancel = True
End Sub
Excel işe yaradı. Dediğiniz gibi Sayfanın alt orta kısmına yazıyor. Peki istediğimiz yerde (belirlediğimiz yerde) yazması mümkün mü.
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Excel için alternatif,
Sayfa alt orta kısmına numaraları yazar.
Kod:
Sub OzelYaz()
    Dim s As Integer, i As Integer

    s = Application.InputBox("Kaç Sayfa Yazdırayım", Type:=2)
    Application.EnableEvents = False
    For i = 1 To s
        ActiveSheet.PageSetup.CenterFooter = i
        ActiveSheet.PrintOut
    Next i
    Application.EnableEvents = True
    Cancel = True

End Sub
Word için önce sayfa altına bir adet yer imi ekleyin ve ismini Baski olarak girin
Kod:
Sub OzelYaz()
Dim BmName As String
Dim BmRange As Object
s = InputBox("Kaç Sayfa Yazdırayım", "Baskı Adedi")

For i = 1 To s
If ActiveDocument.Bookmarks.Exists("Baski") Then
    BmName = "Baski"
    Set BmRange = ActiveDocument.Bookmarks(BmName).Range
    BmRange.Text = i
    ActiveDocument.Bookmarks.Add Name:=BmName, Range:=BmRange
End If
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
         ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
        False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
Next
Cancel = True
End Sub
World de çalıştıramadım. Sanırım Yer imi kısmında falan hata yapıyorum.
 
Katılım
20 Şubat 2007
Mesajlar
525
Excel Vers. ve Dili
2007 Office, Tr
Yusuf beyin çözümünde [F1] hücresine numara yazılıyor. Eğer "F1" hücresi yazdırma alanı dışında kalıyorsa sayfada çıkmaması normal. Siz bu "F1" hücresini değiştirin. Mesela ben B20 olarak belirledim.

Kod:
Sub OzelYaz()
    Dim s As Integer, i As Integer

    s = Application.InputBox("Kaç Sayfa Yazdırayım", Type:=2)
    Application.EnableEvents = False
    For i = 1 To s
        'ActiveSheet.PageSetup.CenterFooter = i
        [B20] = i
        ActiveSheet.PrintOut
    Next i
    Application.EnableEvents = True
    Cancel = True

End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Hocam sanırım ben yapamadım. Deniyorum ama olmuyor. Çıktı sayısını soruyor fakat numaraları yazmıyor.
Ben F1 hücresine yazacak şekilde belirtmiştim. Siz kodu nasıl değiştirip uyguladınız bilmiyorum. Dosyanızı paylaşırsanız iyi olur.
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR

Hocam linkler bunlar. Sayıları ellerimizle yazmak yerine otomatik olarak çıkartmak istiyoruz fakat başaramıyoruz. 24 yazan kısımlara otomatik çıktı adedi kadar sayfa sayılarını yazmasını istiyoruz.

Emekleriniz İçin Teşekkürler.
 
Katılım
20 Şubat 2007
Mesajlar
525
Excel Vers. ve Dili
2007 Office, Tr
Excel dosyanızda "Texbox3" ü silin. Çünkü bu tip texbox'da fontu istediğiniz gibi büyültemiyorsunuz. Onun yerine diğer texbox türünü ekleyin. Şöyle:
* Geliştirici sekmesi
* Tasarım modu
* Ekle/ActiveX denetimleri/Metin kutusu
* Sağ tık / Özellikler / Font (istediğinizi ayarlayın)

Sonra modül ekleyip

Kod:
Sub yaz()
'Modül ekleyin ve yapıştırın.
adet = InputBox("Kaç nüsha yazdırılacak?", "Nüsha Sayısı")
If IsNumeric(adet) Then
    For i = 1 To adet
        ActiveSheet.TextBox1.Text = i
        ActiveSheet.PrintOut
    Next
End If
End Sub
word için sizin belgenize yer imi ve Makro modülü eklendi. Dosya "docm" uzantılı kaydedildi.
Word belgesi
 
Katılım
13 Ekim 2021
Mesajlar
32
Excel Vers. ve Dili
365-TR
Excel dosyanızda "Texbox3" ü silin. Çünkü bu tip texbox'da fontu istediğiniz gibi büyültemiyorsunuz. Onun yerine diğer texbox türünü ekleyin. Şöyle:
* Geliştirici sekmesi
* Tasarım modu
* Ekle/ActiveX denetimleri/Metin kutusu
* Sağ tık / Özellikler / Font (istediğinizi ayarlayın)

Sonra modül ekleyip

Kod:
Sub yaz()
'Modül ekleyin ve yapıştırın.
adet = InputBox("Kaç nüsha yazdırılacak?", "Nüsha Sayısı")
If IsNumeric(adet) Then
    For i = 1 To adet
        ActiveSheet.TextBox1.Text = i
        ActiveSheet.PrintOut
    Next
End If
End Sub
word için sizin belgenize yer imi ve Makro modülü eklendi. Dosya "docm" uzantılı kaydedildi.
Word belgesi
Hocam Allah razı olsun. Bilgisayarcı işini yapsa uğraşmayacağız. Excel işe yaradı. World ü yapamadım. Ama aynı şekilde World Dosyasını Excele taşırım aynı şekilde işlemleri unun üzerinde gerçekleştiririm. Böylelikle oda olmuş olur. Ellerinize Sağlık. Çok teşekkürler..
 
Katılım
20 Şubat 2007
Mesajlar
525
Excel Vers. ve Dili
2007 Office, Tr
Amin, sağolasınız. 14 nolu mesajdaki word dosyası sizin dosyanızın aynısı. İçinde makrosu hazır. Sadece makroyu çalıştır diyeceksiniz.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
MS Word makroları, MS Excel kadar kolay değildir. Excel'deki hazır event'lerin (yordamların) birçoğu Word uygulamasında bulunmaz. Bazıları için Class module kullanarak, bu sorun aşılabilir.

Bu konu hakkında Class Module uygulamasıyla, linkte verilen Word dokümanında "Before_Print" yordamı geliştirilmiştir.

Linkteki dokümanda dokümanı kapatmadan her yazdırdığınızda , dokümanın sağ üst köşesinde Üst Bilgi (Header) içinde çıktı no'sunu yazan makro, ekli dosyada verilmiştir.


.
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe

Hocam linkler bunlar. Sayıları ellerimizle yazmak yerine otomatik olarak çıkartmak istiyoruz fakat başaramıyoruz. 24 yazan kısımlara otomatik çıktı adedi kadar sayfa sayılarını yazmasını istiyoruz.

Emekleriniz İçin Teşekkürler.
Muhtemelen sorununuz diğer hocalarımız sayesinde çözülmüştür.

Örnek dosyanızda verdiğim makroyu uygulamamışsınız, bu nedenle nasıl uyguladınız da neden olmadı bilmiyorum.

Siz bir metin kutusunda bu sonucu görmek istiyorsunuz anladığım kadarıyla. Dosyanızdaki metin kutusunu seçtiğimde formül kutusunda =#BAŞV! hatası vardı. Onu verdiğim makroyla uyması için =F1 olarak değiştirdim ve dosyaya #5 nolu mesajda verdiğim makroyu ekledim. Düzgün şekilde çalıştı.

Eğer baştan dosya paylaşsaydınız ya da işlemi textboxta uygulayacağınızı belirtseydiniz ona göre hızlı çözüm bulabilirdiniz.
 
Üst