• DİKKAT

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

yazdırma seçeneklerine değişken belirleme

  • Konbuyu başlatan Konbuyu başlatan takoo
  • Başlangıç tarihi Başlangıç tarihi
Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
Sub Yazdır()
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=2, Pages:="2", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
selam sevgili arkadaşlar.şimdi benim yazdırılacak birçok sayfam var ve herbirinin kopya sayısı icabında farklı olabilir.yukarıdaki kırmızı olan yerleri değişken olarak atamak istedim,olmadı hata verdi.şöyle yaptım;

Copies:=a,Pages:=b dedikten sonra herhangibir kod bloğunda a=2 dedim,b=5 dedim olmadı.kısacası amacım yukarıdaki koca kod bloğunu herdefasında yazmak yerine bu Sub'ı çağırıp oradaki gerekli değişkenlerin değerini değiştireyim dedim.bu konuda ne yapabilirim acaba,yardımcı olur musunuz? teşekkür ediyorum,iyi çalışmalar.
 
Sadece kaç nüsha yazacağını sordurmak istiyorsanız şöyle deneyin.


Sub Yaz()
If MsgBox(" YAZDIRAYIM MI?", vbYesNo) = vbNo Then Exit Sub
SAYFA = Application.InputBox("KAÇ NÜSHA YAZDIRMAK İSTERSİNİZ? ")
If SAYFA = cancel Then Exit Sub
Eğer
varsa
diğer
kodlarınız
End Sub
 
=[A1] ve =[B1] şeklinde deneyin. Kopya ve sayfa sayısı hücredeki değere göre verir.
 
çok teşekkürler arkadaşlar.şöyle bir şey de olabilir mi;
Application.PrintOut FileName:="kik.doc",Copies:=2,Pages:="2", Collate:=True
'pek fazla kelimeyi barındırmıyor.yazdırmak için sadece bunlar yeterli olabilir mi?
 
çok teşekkürler arkadaşlar.şöyle bir şey de olabilir mi;
Application.PrintOut FileName:="kik.doc",Copies:=2,Pages:="2", Collate:=True
'pek fazla kelimeyi barındırmıyor.yazdırmak için sadece bunlar yeterli olabilir mi?

Olup olmayacağını bilmenin en kolay yolu denemek. Deneyin. :)
 
Sn Kombo

Sadece kaç nüsha yazacağını sordurmak istiyorsanız şöyle deneyin.


Sub Yaz()
If MsgBox(" YAZDIRAYIM MI?", vbYesNo) = vbNo Then Exit Sub
SAYFA = Application.InputBox("KAÇ NÜSHA YAZDIRMAK İSTERSİNİZ? ")
If SAYFA = cancel Then Exit Sub
Eğer
varsa
diğer
kodlarınız
End Sub

Sn Kombo , verdiğiniz makroda başka sayfayı yazdırmak istersek nasıl bir düzenleme yapmamız gerekir. sayfa adını nasıl ekleyeceğiz. Selamlar....
 
Bu kod satırını bir ilave edin.

Sayfa2.PrintOut
 
Sn Seyit Tiken acemiliğimi mazur görün

Bu kod satırını bir ilave edin.

Sayfa2.PrintOut

Sn Seyit Tiken acemiliğimi mazur görün.dediğinizi yazdırma makrosuna ekledim ama sanırım olmadı.Diyelim ki personeller sayfasını yazdırmak istiyoruz.Makro sadece butonun ait olduğu sayfayı yazdırıyor.Yazdırmak istediğimiz sayfayı yazdırmak için, Makronun neresine yazdırılacak kodu eklemeliyim .Makro şu şekilde ;
Sub Yazdır()
adet = InputBox("Kaç Adet.Yazdırmak istersin.")
ActiveWindow.SelectedSheets.PrintOut from:=1, To:=1, copies:=adet, collate:=True
End Sub
:yardim:
 
Son düzenleme:
Combodaki hangi sayfa ismi seçilirse o sayfayı yazdırır. Ekli dosyayı inceleyiniz.
 
Kod:
Sub Yaz()
If MsgBox(" YAZDIRAYIM MI?", vbYesNo) = vbNo Then Exit Sub
SAYFA = Application.InputBox("HANGİ SAYFA ? ")
If SAYFA = cancel Then Exit Sub
ADET = Application.InputBox("KAÇ ADET YAZDIRMAK İSTERSİNİZ? ")
If ADET = cancel Then Exit Sub

Sheets("" & SAYFA).[COLOR="Green"]PrintPreview[/COLOR]

' Bu haliyle [COLOR="green"]ÖNİZLEME[/COLOR] yapar.
' [COLOR="Red"]YAZDIRMAK İÇİN [/COLOR][COLOR="green"]PrintPrewiew[/COLOR] KISMINI
' [COLOR="red"]PrintOut[/COLOR] OLARAK DEĞİŞTİRİN.
End Sub
 
Sn Seyit Tiken ; Sn AS3434

Sn Seyit Tiken ; Sn AS3434 İlginiz için bir kez daha teşekkürlerimi sunmak istiyorum. Yazdırma ile ilgili ne kadar çok alternatif hazırlanabiliyormuş. Sizlerden her gün yeni bir şey öğrenmek gerçekten mutluluk verici. İyi ki varsınız.
Ayrıca site yöneticilerinden bir ricam : Yazdırma ile ilgili çok değişik alternatifler var ve ayrı ayrı çok dağınık, bunların hepsini tek bir adresde toplamak mümkün olmazmı acaba. Siz değerli üstadların değişik varyasyonda hazırlamış olduğunuz , büyük Emek içeren örnek dosyaları, biz yeni başlayanlar için büyük bir kaynak olur düşüncesindeyim.Bu sayede de Siz değerli Üstadların zamanını aynı soruları değişik yerlere sorarak almamış oluruz.
Tekrar Teşekkürler.
 
Aşağıdaki kodlar kullanışlı bir alternatif olabilir.

Private Sub ComboBox1_Click()
Sheets(ComboBox1.Text).PrintOut
End Sub

Private Sub UserForm_Initialize()
For A = 1 To Sheets.Count
ComboBox1.AddItem Sheets(A).Name
Next
End Sub
 
Geri
Üst