Otomatik yazdırma alanı belirlemek

Katılım
17 Ağustos 2006
Mesajlar
106
S.A

Kod:
Sub Oval_Tıklat()

ActiveSheet.PageSetup.PrintArea = "$A$1:$o$" & [p65536].End(3).Row

End Sub
Arkadaşlar yukarıdaki makro ile yazdırma alanını otomatik belirliyorum.

Bu makro dolu olan hücrelere göre yazdırma alanını belirliyor. Son hücredeki değer 0 (Sıfır) ise o hücreyi yazdırma alanı dışına alabilir miyim? yani hücrede 0 (sıfır) varsa yazdırma alanına alınmasın

Umarım anlatabilmişimdir.

Selametle
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
S.A

Kod:
Sub Oval_Tıklat()
 
ActiveSheet.PageSetup.PrintArea = "$A$1:$o$" & [p65536].End(3).Row
 
End Sub
Arkadaşlar yukarıdaki makro ile yazdırma alanını otomatik belirliyorum.

Bu makro dolu olan hücrelere göre yazdırma alanını belirliyor. Son hücredeki değer 0 (Sıfır) ise o hücreyi yazdırma alanı dışına alabilir miyim? yani hücrede 0 (sıfır) varsa yazdırma alanına alınmasın

Umarım anlatabilmişimdir.

Selametle
Merhaba Sn gohanx21

"0" olabilme ihtimali olan son hücre hangi Sütunda?
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba Sn gohanx21

"Sıfır" ile "Boş Hücre" birbirine eşit kabul edildiğinden yalnızca Sıfır değil, aynı zaman hücre boş isede Sıfır olarak görmekte ve yazdırma alanı dışına almaktadır.

Kod:
Dim x As Double
x = [p65536].End(3).Row
If Range("o" & x).Value > -1 And Range("o" & x).Value < 1 Then
x = x - 1
End If
ActiveSheet.PageSetup.PrintArea = "$A$1:$o$" & x
 
Katılım
17 Ağustos 2006
Mesajlar
106
Ercan bey ek bir &#351;ey sormak istiyorum. Makro yu 0 (s&#305;f&#305;r) ya da bo&#351; olma ihtimaline de&#287;ilde istedi&#287;im ba&#351;ka bir de&#287;ere nas&#305;l ba&#287;layabilirim.

Mesele bir metne "Alan Sonu" ya da bir say&#305;ya 12 gibi
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba


K&#305;rm&#305;z&#305; Sat&#305;r&#305; inceleyiniz....

Kod:
Dim x As Double
x = [p65536].End(3).Row
[COLOR=red][B]If Range("o" & x).Value = [COLOR=darkorange]12[/COLOR] Then[/B][/COLOR]
x = x - 1
End If
ActiveSheet.PageSetup.PrintArea = "$A$1:$o$" & x
E&#287;er burda metinsel bir ifade g&#246;sterecekseniz, &#214;rnek sorudaki "Alan Sonu" gibi;
O zaman de&#287;i&#351;keni t&#305;rmak i&#231;inde ("") belirtmelisiniz.

If Range("o" & x).Value = "Alan Sonu" Then
gibi...
 
Katılım
17 Ağustos 2006
Mesajlar
106
Ercan bey örnek bir dosya ekliyorum. Verdiğiniz son makroyu denedim.

Alan Sonu yazılı hücreyi baz almıyor. Dolu olan son hücreyi baz alıyor
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba,

Bu &#246;rnek ile bir &#246;nceki &#246;rnek birbirinden farkl&#305;.
Bu y&#252;zden sonu&#231; alam&#305;yorsunuz.

Son &#246;rne&#287;e a&#351;a&#287;&#305;daki kodu yaz&#305;p deneyiniz..

Kod:
Sub Yazdirma_Alani()
Dim x As Double, w As Double
w = [p65536].End(3).Row
x = Range("P1:P" & w).Find("Alan Sonu").Row
ActiveSheet.PageSetup.PrintArea = "$A$1:$p$" & x
End Sub
 
Katılım
17 Ağustos 2006
Mesajlar
106
Arkadaşlar kusura bakmayın ufak bir sorun daha çıktı.

Sorunu örnek bir dosyada anlattım.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba,

Deneme f&#305;rsat&#305;m pek olmad&#305; ama akl&#305;ma &#351;u geldi.
Formul de&#287;ilde, formulu makro olarak yazarak deneyiniz...

Kod:
Sub Auto_Open()
Dim x As Double, w As Double
    If Sheets("Sayfa1").Range("m22").Value = 0 Then
        Sheets("Sayfa1").Range("p57").Value = "Alan Sonu"
        Else
        Sheets("Sayfa1").Range("p57").Value = ""
    End If
w = [p65536].End(3).Row
x = Range("P1:P" & w).Find("Alan Sonu").Row
x = x - 1
ActiveSheet.PageSetup.PrintArea = "$A$1:$o$" & x
End Sub
 
Katılım
17 Ağustos 2006
Mesajlar
106
Ercan bey makro sadece 1. Sayfay&#305; baz al&#305;yor. Yani 1. Sayfadaki m22 ile p57 yi baz al&#305;yor anlad&#305;&#287;&#305;m kadar&#305; ile.
Takip eden di&#287;er sayfalar&#305; da kapsayacak &#351;ekilde d&#252;zenleyebilir miyiz?
m78 = 0 ise P113 ="Alan Sonu"
m134 = 0 ise P169 ="Alan Sonu"
.
.
Gibi. Yani Makro &#351;uan sadece 1. Sayfa i&#231;in ge&#231;erli bunu altta takip eden di&#287;er sayfalar&#305; da kapsamas&#305; laz&#305;m.
Ufak bir ekleme daha yapmak istiyorum. Diyelim en son m134 deki h&#252;crenin de&#287;eri s&#305;f&#305;rdan farkl&#305; onu takip eden di&#287;er sayfalarda s&#305;f&#305;r. Bu durumda makro &#231;al&#305;&#351;t&#305;&#287;&#305;nda M134 &#252;n bulundu&#287;u 3. Sayfay&#305; de&#287;il onu takip eden 4. Sayfay&#305; da kapsayacak &#351;ekilde yazd&#305;rma alan&#305;n&#305; belirliyor. Burda 4. Sayfa gereksiz yere yazd&#305;rma alan&#305;na girmi&#351; olacak. 4. sayfan&#305;n gereksiz yere yazd&#305;rma alan&#305;na girmemesi laz&#305;m.
 
Son düzenleme:

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Ercan bey makro sadece 1. Sayfayı baz alıyor. Yani 1. Sayfadaki m22 ile p57 yi baz alıyor anladığım kadarı ile.
Takip eden diğer sayfaları da kapsayacak şekilde düzenleyebilir miyiz?
m78 = 0 ise P113 ="Alan Sonu"
m134 = 0 ise P169 ="Alan Sonu"
.
.
Gibi. Yani Makro şuan sadece 1. Sayfa için geçerli bunu altta takip eden diğer sayfaları da kapsaması lazım.

Selam,

Çok özür dilerim ancak, mesajda da yazdığım gibi deneme fırsatı olmadan bir fikir sunmuştum sadece.

Şuan sorunuzla örnek dosyanızı biraz incelemeye ve yapmaya çalıştığınız şeyi çözmeye çalıştım.

İnanın kafam karışmadı desem yalan olur.
Birçok "Alan Sonu" ifadesinin var olması Örnek kodun Sağlıklı Çalışmamasına neden olabilecektir...
 
Katılım
9 Nisan 2007
Mesajlar
33
Excel Vers. ve Dili
excel 2003
Print etmek istedi&#287;im sayfada textboxlar var. &#199;e&#351;itli makrolara g&#246;re visible durumu de&#287;i&#351;iyor. Bu textboxlar&#305;n boyutuna g&#246;re print area de&#287;i&#351;ssin istiyorum. Makrolar arac&#305;l&#305;&#287;&#305;yla dolu h&#252;creleri print edilmesinin m&#252;mk&#252;n oldu&#287;unu biliyorum ancak bunu textboxlar i&#231;in de uyarlamak m&#252;mk&#252;n m&#252;d&#252;r? Te&#351;ekk&#252;rler..
 
Üst