• DİKKAT

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

Yazdırma Alanı

Katılım
2 Ekim 2013
Mesajlar
347
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
her sayfamda farklı ve tablonun doluluk durumuna göre değişken bir yazdırma alanı belirlemem için siteyi araştırdım. Ancak mevcut makroları kendime uyarlayamadım.
aşağıda yazdığım makro ne yaptıysam hata verdi? nerede hata var ki?
rapor1 sayfasında son sütun BL sütunu ancak satır değişkeni I2 hücresinde
kısaca sonsütun ve son satırı ilgili belgedeki hücrelerden alacak bir makroya ihtiyacım var.
selamlar
Sub Alansec()
Sheets(Rapor1).PageSetup.PrintArea = "$A$1:$BL$" & Range("I2")
End Sub
 
Eğer her sayfanın I2 hücresindeki değer ayrı ayrı değerlendirilecekse RAnge("I2") yerine ilgili sayfayı da belirtmeniz gerekir. Yani hangi sayfanın I2 hücresi kontrol edilecek?
 
rapor1 sayfasının yazdırma alanı rapor1 sayfasındaki hücreler tarafında kontrol edilecek. Rapor2 sayfası ise rapor2 sayfasındaki hücreler tarafından
bu durumda makronun = olan kısmından sonrasını nasıl düzeltmeliyim?
Sub Alansec()
Sheets(Rapor1).PageSetup.PrintArea = "$A$1:$BL$" & Range("I2")
End Sub
 
Merhaba,
Dener misiniz?

Kod:
Sub Alan()

    MsgBox Sayfa1.UsedRange.Address
    
End Sub
 
yazgınız satırı makroma ekledim
malesef herhangi bir etkisi olmadı
yine aynı satırda out of range hatası verdi
Sub Alansec()
Sheets(Rapor1).PageSetup.PrintArea = "$A$1:$BL$" & Range("I2")
MsgBox Rapor1.UsedRange.Address

End Sub
 
Merhaba,
Örnek dosyanızın yapısını görmeden ne desek boş.
veriler hangi satır ve hangi sütundan başlıyor, hangi sütunda bitiyor, arada boşluklar var mı ? vs vs vs yani

Aşağıdaki kodlar sayfadaki son satır ve son kolonu bulur.

Kol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Sat = Cells.Find("*", , , , xlByRows, xlPrevious).Row
 
Son düzenleme:
Necdet Bey, yazdırma alanının hücrelerini makroya ben elle yazacağım. Son satır son dolu sütun olayı değil
istediğim Rapor 1 sayfasının A1 hücresinde 18, a2 hücresinde 40 yazıyor
Rapor1 sayfasının yazdırma alanın A18 : AB40 olmasını istiyorum
yani aslında
Sheets(Rapor1).PageSetup.PrintArea = Sheets(Rapor1).range ("A& a1: AB & a2")
satırındaki yazım hatasını bulamıyorum.
 
Sheets(Rapor1).PageSetup.PrintArea = "A" & Sheets(Rapor1).range ("a1") & ": AB" & Sheets(Rapor1).range ("a2")

Şeklinde dener misiniz?
 
yusuf bey malesef olmadı.
o satırda hata veriyor. O satırı iptal edersem yazıyor. Sarı boya ile boyuyor
 
bu dosya üzerinde deneme yaptım. sonuç aynı hata
 
Rapor1 sanıyorum sayfa adınız, öyleyse tırnak içinde yazmalısınız:

Sheets("Rapor1").PageSetup.PrintArea = "A" & Sheets("Rapor1").Range("a1") & ": AB" & Sheets("Rapor1").Range("a2")
 
teşekkür ederim, harikasınız
 
Geri
Üst