Yazdırma Sayısını Texbox'tan atama

Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Arkadaşlar,
Userform üzerinde oluşturduğum yazdır butonuna atamış olduğum aşağıdaki makro kodlarrı ile sayfayı 1 kere yazdırabiliyorum. Burdaki (Copies:=1) 1 rakamının yerine Yazdır butonuna bastıktan sonra gelecek yeni bir formda bulunan text kutusuna yazdığımız sayı kadar sayfayı yazdırma imkanı var mıdır?.Varsa yeni formun açılışı için gerekli Userform1.Show komutunu nereye yazmamız gerekiyor. Bu konuda yardımı olacak arkadaşlara şimdiden teşekkürlerimi sunarım.
Kullandığım kod:

Private Sub cmdyazdir_Click()

cevap = MsgBox("Dosya yazıcıya gönedrilsin mi?", vbYesNo)
If cevap = 6 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
MsgBox "Dosya yazıcıya gönderilmeyecek"
End If
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Bu şekil deneyiniz
Kod:
Private Sub cmdyazdir_Click()
Dim C, DEG As String
C = MsgBox("Dosya yazıcıya gönedrilsin mi?", vbYesNo)
If C = vbNo Then
MsgBox "Dosya yazıcıya gönderilmeyecek"
Exit Sub
Else
DEG = InputBox("Çıktı alınacak adedi giriniz", vbInformation)
ActiveWindow.SelectedSheets.PrintOut Copies:=DEG
End If
End Sub
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Sayın N.Ziya Hiçdurmaz Bey'e
ilginizden dolayı çok teşekkürler.
Tam istediğim gibi.
Ancak inputbox penceresi her ilk açıldığında varsayılan değer olarak mesela 5 rakamı gözükebilir mi? Biz bu rakamı daha sonra değiştirmek kaydı ile.
Bir de ayrıca inputbox penceresi geldiğinde ok tuşuna basınca istediğimiz adet kadar çıktı almada bir sorun yok ancak, Cancel tuşuna basınca
Run Timer Error "1004"
Method "PrintOut" of objekt "sheets" failed
hatası veriyor ve kod sayfası açılıyor, bu ne anlama geldiğini ben anlayamadım.
Cancel tuşuna basınca yazdırma işlemi yapılmamasını nasıl temin ederiz.
İlginizden dolayı çok teşekkürler.
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Sayın Ziya Hiçdurmaz Bey,
Bir önceki mesajımda inputboxda otomatik değerin nasıl gösterileceğini (mesela 5 tane) sormuştum. onu hallettim. ama yine de cancel tuşuna basınca hata kodu vermeye devam ediyor. Bu konuda ilgilenirseniz sevinirim.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Bu şekil deneyiniz
Kod:
Private Sub cmdyazdir_Click()
On Error GoTo err
Dim C, DEG As String
C = MsgBox("Dosya yazıcıya gönedrilsin mi?", vbYesNo)
If C = vbNo Then
MsgBox "Dosya yazıcıya gönderilmeyecek"
Exit Sub
Else
DEG = InputBox("Çıktı alınacak adedi giriniz", vbInformation)
ActiveWindow.SelectedSheets.PrintOut Copies:=DEG
End If
err:
If err Then
MsgBox err.Description
End If
End Sub
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Sayın Ziya Hiçdurmaz Bey,
İlginizden dolayı çok teşekkürler,
tam istediğim gibi bütün kodlar çalışıyor,
çalışmalarınızda başarılar dilerim.
 
Katılım
19 Mayıs 2008
Mesajlar
13
Excel Vers. ve Dili
exel 2003
bur soruya ilave olarak bir soru sormak istiyorum buna benzer şekilde bir buton koyarak bu bu butona basarak kopya adedide olacak şekilde kod nasıl olmalı
 
Üst