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

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.
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
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
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
=[A1] ve =[B1] şeklinde deneyin. Kopya ve sayfa sayısı hücredeki değere göre verir.
 
Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
ç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?
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
ç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. :)
 
Katılım
13 Şubat 2007
Mesajlar
82
Excel Vers. ve Dili
Microsoft Office 2003
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....
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu kod satırını bir ilave edin.

Sayfa2.PrintOut
 
Katılım
13 Şubat 2007
Mesajlar
82
Excel Vers. ve Dili
Microsoft Office 2003
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:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Combodaki hangi sayfa ismi seçilirse o sayfayı yazdırır. Ekli dosyayı inceleyiniz.
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
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
 
Katılım
13 Şubat 2007
Mesajlar
82
Excel Vers. ve Dili
Microsoft Office 2003
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.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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
 
Üst