• DİKKAT

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

Otomatik Yazdırma alanı belirleme

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,
aşağıdaki kod ile otomatik yazdırma alanı belirliyorum. $G$1 hücresine girip enter'a basınca yazdırma ayarı güncelleniyor. Ancak ben $G$1 hücresinin değeri değiştikçe güncellensin istiyorum. Nasıl yapabilirim?
($G$1 hücresinde =BAĞ_DEĞ_SAY(insört2009!AB:AB) formülü var)


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$1" Then
Cells.Select
Cells.EntireRow.AutoFit
ActiveSheet.PageSetup.PrintArea = "$A$1:$M$" & [G1] + 7
Cells(1, 2).Select
End If
End Sub
 
en iyisi yazdırmayı bir komut düğmesi ile yapmak

Sub yazdır()
Worksheets(ActiveSheet.Name).PageSetup.PrintArea = "$A$1:$M$" & Val(Cells(1, "G").Value)
Worksheets(ActiveSheet.Name).PrintOut Copies:=1, Collate:=True
End Sub
 
Sayın Halit3,
çözümünüz çalışmadı. Ön izleme Yapınca yine aynı görünüyor. Ben biraz çalıştım ve aşağıdaki gibi çözdüm. daha alternatifi daha kısa yolu varsa sevinirim.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
PageSetup.PrintArea = "$A$1:$M$" & [G1] + 7
Application.ScreenUpdating = True
End Sub
 
yazdır makrosu ön izlemede görünmez yazdırırken veriler doğrultusunda yazdırır
ancak ön izleme komutuda koyarsan araya söylediğin gibi olur.

Sub yazdır()
Worksheets(ActiveSheet.Name).PageSetup.PrintArea = "$A$1:$M$" & Val(Cells(1, "G").Value)
ActiveWindow.SelectedSheets.PrintPreview
Worksheets(ActiveSheet.Name).PrintOut Copies:=1, Collate:=True
End Sub
 
Sayın halit3,
Yardımlarınız için çok Teşekkürler.
Kolay gelsin.
 
Geri
Üst