• DİKKAT

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

Yazdırma Sorusu hk.

Katılım
25 Aralık 2007
Mesajlar
300
Excel Vers. ve Dili
2007 tr
Arkadaşlar yazdırma ile ilgili bir makro gerekmekte.

Ekteki dosyada ve resimde açıklamaya calıştım.

A sütununda her hücrede "A , B, C" yazmakta, amacım resimdeki belirtildiği gibi yazdırma seçeneği, fakat hangi koşulda yazdırma yapılacaksa yapılsın, yazdırmadan önce sarıya boyalı (J, K, L, M, N) sütunları gizlenecek, yazdırma işlemi bittikten sonra aynı sütunlardaki tekrar gösterilecek kaldırılacak.

Hangi seçenek seçilirsen seçilsin, Öncelikle bir önizleme yapılacak. ve Userformda başlık iptal edilmiş olacak ve kapatma düğmesi olmayacak


Yazdırma işlemi Kırmızı alanı ile belirlenmiş alanlar içerisinde olacak, ve her bir bölüm A4 sayfasına hizalanmış şekilde önce önizleme olacak sonra onay verilirse yazdırılacak.

Çoklu yazdırma seçeneklerinde İki bölüm arasında mukakkak 3 satır boşluk kalacak, ve seçilen seçenek A4 sayfasına hizalanmış olacak sonra onay verilirse yazdırılacak.

Yardımınız için şimdiden teşekkür ederim.

Saygılarımla
Hayırlı Günler.
 

Ekli dosyalar

  • Yazıcı.xlsx
    Yazıcı.xlsx
    74.6 KB · Görüntüleme: 21
  • adsız.JPG
    adsız.JPG
    10.2 KB · Görüntüleme: 27
Arkadaşlar öncelikle böyle birşey yapabilirmiyiz, yani standartları olduğu için soruyorum.
 
Arkadaşlar öncelikle böyle birşey yapabilirmiyiz, yani standartları olduğu için soruyorum.


Kodları Test edermisiniz. Kendi dosyanıza gore ayarlamanı gerekir. Optionbutton sırasını sizin dosya isimleri ile karşılaştırın.

Kod:
Private Sub CommandButton1_Click()
If OptionButton1 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$AA$364"
ActiveSheet.PrintOut
ElseIf OptionButton2 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$246:$AA$578"
ActiveSheet.PrintOut
ElseIf OptionButton3 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$AA$242,$A$365:$AA$578"
ActiveSheet.PrintOut
ElseIf OptionButton4 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$AA$578"
ActiveSheet.PrintOut
ElseIf OptionButton5 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$AA$242"
ActiveSheet.PrintOut
ElseIf OptionButton6 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$246:$AA$361"
ActiveSheet.PrintOut
ElseIf OptionButton7 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$365:$AA$578"
ActiveSheet.PrintOut
End If
End Sub
 
Hüseyin bey,
Verdiğiniz kodlar tam olarak belirli satır ve sütun aralarını dikkate alarak çıktı alıyor.

Benim talebim ise şu şekildeydi, A sütunundaki A hücrelerine bakarak, satırı ne kadar "A" - "B" - "C" var ise O kadar satır yazdırma alanını teşkil etmesi. yani örnek veriyorum.
Kod:
A1:A364
bazen satırlar gizlenme ihtiyacı hissedilecek veya artacak,
Kod:
A1:A105
bile olabilir. ama her ne olursa olsun A veya B veya C grubu herbiri tek sayfa olacak, Command buton önizleme yapmadan yazmayacak ve sarı sütunları yazdırmadan gizleeyecek yazdıktıan sonra eski haline alacak
 

konu arkalarda kalmıs biraz geç oldu.

Kod:
Private Sub CommandButton1_Click()

A1_deg = WorksheetFunction.Match("A", Range("A:A"), 0)
A2_Deg = WorksheetFunction.Match("A", Range("A:A"), 1)
B1_deg = WorksheetFunction.Match("B", Range("A:A"), 0)
B2_Deg = WorksheetFunction.Match("B", Range("A:A"), 1)
C1_deg = WorksheetFunction.Match("C", Range("A:A"), 0)
C2_Deg = WorksheetFunction.Match("C", Range("A:A"), 1)



If OptionButton1 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & A1_deg & ":$AA$" & B2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton2 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & B1_deg & ":$AA$" & C2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton3 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & A1_deg & ":$AA$" & A2_Deg & ",$A$" & C1_deg & ":$AA$" & C2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton4 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & A1_deg & ":$AA$" & C2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton5 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & A1_deg & ":$AA$" & A2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton6 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & B1_deg & ":$AA$" & B2_Deg
ActiveSheet.PrintOut
ElseIf OptionButton7 = True Then
ActiveSheet.PageSetup.PrintArea = "$A$" & C1_deg & ":$AA$" & C2_Deg
ActiveSheet.PrintOut
End If
End Sub
 
Hüseyin bey verdiğiniz kodları denedim, gayet güzel çalışıyor, fakat yukarıdada dediğim gibi ben command butona bastığımda direkt yazdırmak yerine öncelikle Önizleme vermesini, onay verilirse adet sayısı belirterek yazdırılmasını istiyorum.
Bu şekilde nasıl düzenleyebilirim ?
 
Hüseyin bey verdiğiniz kodları denedim, gayet güzel çalışıyor, fakat yukarıdada dediğim gibi ben command butona bastığımda direkt yazdırmak yerine öncelikle Önizleme vermesini, onay verilirse adet sayısı belirterek yazdırılmasını istiyorum.
Bu şekilde nasıl düzenleyebilirim ?


ActiveSheet.PrintOut yerine ekteki kodları yerleştirin.


ActiveWindow.SelectedSheets.PrintPreview
 
Geri
Üst