• DİKKAT

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

yazıcıdan istedigin sayfayı alma

  • Konbuyu başlatan Konbuyu başlatan dyrbkr
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Temmuz 2004
Mesajlar
163
Selamlar

A1 hücresinde 1 yazılı ise sayfa1 den 1.ci sayfayı yazsın.A1 2 ise sayfa1 den 2 sayfayı yazdırsın A1 3 ise sayfa1 den 3 sayfayı yazdırsın.

Yardımcı olabilirmisiniz.Eğerli veya makrolu olabilir.Teşekkürler
 
Aşağıdaki kodlar işinizi görür.:cool:
Kod:
Sub yazdir()
Sheets(Range("A1").Value).PrintOut
End Sub
 
Gerçi Evren bey kısa bir kodla yanıtlamış. Olayı farklı algılayarak bir kod geliştirdim. Sayfa1'de A1 hücresi 2 ise; Sayfa1 ve Sayfa2 yazdırılsın gibi.
Kod:
Sub Düğme1_Tıklat()
For s = 1 To [a1].Value
Sheets(s).PrintOut
Next
End Sub
 
yazmadı.Dosyayı ekledim bi hatamı yaptım acaba bakarmısın.
 
Son düzenleme:
yanlış anlaşıldı galiba.Tüm verilerim sayfa1 de bu sayfanın 1. sayfası 2. sayfası ve 3. sayfasını yazdırmaya çalışıyorum.
 
yanlış anlaşıldı galiba.Tüm verilerim sayfa1 de bu sayfanın 1. sayfası 2. sayfası ve 3. sayfasını yazdırmaya çalışıyorum.
Ben bir şey anlamadım.Sayfa1'in 1nci sayfası,2nci sayfası 3ncü syafası nasıl olur.Olamaz.Siz sütunlardanmı bahsediyorsunuz acaba ?1nci sütun,2nci sütun,3ncü sütun gibi.Lütfen sorularınızı net ve açık sorunuz.!! :cool:
 
Aşağıdaki gibi deneyin.

Kod:
Sub yazdir()
On Error Resume Next
Sheets("Sayfa1").PrintOut From:=Range("A1"), To:=Range("A1"), Copies:=1
If Err.Number > 0 Then
   MsgBox "Bu numaralı sayfa yok", vbCritical, "UYARI"
   Err.Number = 0
End If
End Sub
 
Sayın dyrbkr,

İstediğiniz galiba böyle bir şey. Aşağıdaki kodu yazdıracağınız sayfalar kadar aynı mantıkla çoğaltabilirsiniz. Ben sadece 3 sayfalık alan için yazdım.

Sub Makro1()
If Range("A1").Value = 1 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$56"
ElseIf Range("A1").Value = 2 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$57:$I$112"
ElseIf Range("A1").Value = 3 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$113:$I$168"
End If
End Sub
 
sayın evren
sayfa1 de 5 sayfalık bir forum var veri girdiğim zaman bazen 1 sayfa bazen 3 sayfalık döküman oluyor A1 hücresine yazacağım rakam ile bana sayfa1 de 1 sayfa veya 3 sayfalık döküman versin istiyorum.yani baskı önizlemeye geçtiğimde 5 sayfanın A1 değeri ne ise o kadar sayfa yazsın istiyorum.Kusuruma bakmayın anlatmam biraz zor oldu.
 
Sayın dyrbkr,

Aşağıdaki mantık işinizi görür sanırım.

Sub Makro1()
If Range("A1").Value = 1 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$56"
ElseIf Range("A1").Value = 2 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$112"
ElseIf Range("A1").Value = 3 Then
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$168"
End If
End Sub
 
Sayın Şaban SERTKAYA
İstediğim şekil buydu tüm arkadaşlara çok teşekkürler
 
sayın evren
sayfa1 de 5 sayfalık bir forum var veri girdiğim zaman bazen 1 sayfa bazen 3 sayfalık döküman oluyor A1 hücresine yazacağım rakam ile bana sayfa1 de 1 sayfa veya 3 sayfalık döküman versin istiyorum.yani baskı önizlemeye geçtiğimde 5 sayfanın A1 değeri ne ise o kadar sayfa yazsın istiyorum.Kusuruma bakmayın anlatmam biraz zor oldu.
Tamamda bu yazdıklar sayfa1de hangi sütunlarda veya sütun aralğına Bunları biz bilemeyiz.Ancak siz söylerseniz bilebiliriz.Tabiiki siz durumu bildiğiniz için başkalarınında durumu bildiğini sanıyorsunuz.Örnek dosya üzerinde nereler 1nci kısma nereler 2nci kısma ait belirtirseniz sorunuz cevaplanabilir.Akasi takdirde size kimse cevap yazamaz.:cool.
 
Herhalde istenilen böyle bir şey. Kodu kendinize göre revize ediniz.
Kod:
Sub Düğme1_Tıklat()
If [a1] = 1 Then [a2:h35].PrintOut
If [a1] = 2 Then [a2:h70].PrintOut
If [a1] = 3 Then [a2:h105].PrintOut
End Sub
 
Geri
Üst