• DİKKAT

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

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
 
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?
 
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
 
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
 
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...
 
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
 
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
 
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
 
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:
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...
 
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..
 
Geri
Üst