• DİKKAT

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

Koşullu yazdırma hk.

Katılım
25 Aralık 2007
Mesajlar
300
Excel Vers. ve Dili
2007 tr
Arkadaşlar çalışmalarda kulanmak için userform oluşturarak bir tablo yaptım.

Tabloda Userform1 çağrılarak A seçeneği seçilip yazdır butonuna basılırsa

A sütunundaki A ile A arasındaki satır ve sütunların userform textbox'daki değer kadar yazdırılmasını istiyorum.

Ama A sütunundaki A harflerinin yerleri sürekli değişmekte.

Eğer B seçeneği seçilirse yukarıdaki anlattıklarım aynısı B için geçerli olmalı.

Eğer Hepsi seçeneği seçilirse, İlk A değeri ile Son D değeri arasındaki satır ve sütunlar yazdırılmalı.

Not: En son Sütun sayısı "V" sütununa kadardır.
 

Ekli dosyalar

Arkadaşlar çalışmalarda kulanmak için userform oluşturarak bir tablo yaptım.

Tabloda Userform1 çağrılarak A seçeneği seçilip yazdır butonuna basılırsa

A sütunundaki A ile A arasındaki satır ve sütunların userform textbox'daki değer kadar yazdırılmasını istiyorum.

Ama A sütunundaki A harflerinin yerleri sürekli değişmekte.

Eğer B seçeneği seçilirse yukarıdaki anlattıklarım aynısı B için geçerli olmalı.

Eğer Hepsi seçeneği seçilirse, İlk A değeri ile Son D değeri arasındaki satır ve sütunlar yazdırılmalı.

Not: En son Sütun sayısı "V" sütununa kadardır.

Yani arama yaptığım yerde konuya yakın bir örnek bulamadım ama Bir sütunda geçen iki değer arasını yazdırmak gibi birşey sanırım.
 
Muhtemelen bu sorunu çözemem ancak çözebilecek arkadaş şu bilgiye ihtiyaç duyacaktır:
diyelim ki A seçildi, sayfada neresi yazılacak?

Yani B'ye kadar olan ilk 12 satır mı, sadece başında A olan 1. ve 6. satırlar mı, yoksa başka bir yer mi?

Bir de V sütununa kadar demişsiniz ama dosyanızda H sütununda bitiyor görünüyor. sütun kısmı bizi ilgilendirmiyor mu?
 
Muhtemelen bu sorunu çözemem ancak çözebilecek arkadaş şu bilgiye ihtiyaç duyacaktır:
diyelim ki A seçildi, sayfada neresi yazılacak?

Yani B'ye kadar olan ilk 12 satır mı, sadece başında A olan 1. ve 6. satırlar mı, yoksa başka bir yer mi?

Bir de V sütununa kadar demişsiniz ama dosyanızda H sütununda bitiyor görünüyor. sütun kısmı bizi ilgilendirmiyor mu?

Sanırım açıklamam yetersiz kaldı.

Eğer A seçilirse aralık A1:H6
Eğer B seçilirse aralık A9:H13
Eğer C seçilirse aralık A17:H22
Eğer D seçilirse aralık A28:H34

Eğer Hepsi seçilirse aralık A1:H34

Not: A sürunundaki "A,B,C,D" karakterleri aynı sütun içerindedir fakat yerleri değişkendir.

ilginiz için teşekkür ederim.
 
Tamam da A1:H6 olmasını belirleyen nedir? Her zaman bu şekilde mi olacak yoksa başka bir sefer A5:V75 gibi bir şey olacak mı? Excel hangi kısmı yazdıracağının ayrımını neye göre/nasıl yapacak?
 
Tamam da A1:H6 olmasını belirleyen nedir? Her zaman bu şekilde mi olacak yoksa başka bir sefer A5:V75 gibi bir şey olacak mı? Excel hangi kısmı yazdıracağının ayrımını neye göre/nasıl yapacak?

Gönderdiğim ekli dosyayı incelem şansınız olabildiyse.
A1:H6 yazdırma alanı olmasını belirleyen şey
A sütunundaki A harflerinin birisinin A1'de diğerinin ise A6'da olmasıdır.
yani aynı iki harfin sütundaki aralıkları.

yazıcı aralığı A sütunu ile H sütunu arasındadır. Fakat Sütunundaki harfler sürekli aynı sütun içerisinde sürekli yer değiştirebilmektedir.
 
Bir şeyler yapmaya çalıştım. Commandbutton1'in kodlarını aşağıdaki şekilde düzenlediğinizde istediğiniz sonucu alıyorsunuz. Ancak bu kodlar ilk A'nın A1 hücresinde olmasına göre düzenlenmiştir. İlk A a1 hücresinde olmazsa/A1 hücresinde başka bir seçenek olursa düzgün çalışacağını sanmıyorum:
Kod:
Private Sub CommandButton1_Click()

If OptionButton1 = True Then
  'Set a = Sheets("sayfa1").[A1:A65536].Find("A")
  'If Not a Is Nothing Then abaş = a.Row
  Set aa = Sheets("sayfa1").Range("A1" & ":A65536").Find("A")
  If Not aa Is Nothing Then ason = aa.Row
Range(Cells(1, "A"), Cells(ason, "H")).Select
Selection.PrintOut Copies:=TextBox1.Value
Else
If OptionButton2 = True Then
  Set b = Sheets("sayfa1").[A1:A65536].Find("B")
  If Not b Is Nothing Then bbaş = b.Row
  Set bb = Sheets("sayfa1").Range("A" & bbaş & ":A65536").Find("B")
  If Not bb Is Nothing Then bson = bb.Row
Range(Cells(bbaş, "A"), Cells(bson, "H")).Select
Selection.PrintOut Copies:=TextBox1.Value
Else
If OptionButton3 = True Then
  Set c = Sheets("sayfa1").[A1:A65536].Find("C")
  If Not c Is Nothing Then cbaş = c.Row
  Set cc = Sheets("sayfa1").Range("A" & cbaş & ":A65536").Find("C")
  If Not cc Is Nothing Then cson = cc.Row
Range(Cells(cbaş, "A"), Cells(cson, "H")).Select
Selection.PrintOut Copies:=TextBox1.Value
Else
If OptionButton4 = True Then
  Set d = Sheets("sayfa1").[A1:A65536].Find("D")
  If Not d Is Nothing Then dbaş = d.Row
  Set dd = Sheets("sayfa1").Range("A" & dbaş & ":A65536").Find("D")
  If Not dd Is Nothing Then dson = dd.Row
Range(Cells(dbaş, "A"), Cells(dson, "H")).Select
Selection.PrintOut Copies:=TextBox1.Value
Else
If OptionButton5 = True Then
Sheets("sayfa1").Range("A:H").Select
Selection.PrintOut Copies:=TextBox1.Value
End If
End If
End If
End If
End If

End Sub
 
Alternatif olarak aşağıdaki kodu deneyiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Aranan As String, Son As Long, Bul1 As Range, Bul2 As Range
    If OptionButton1 Then
        Aranan = "A"
    ElseIf OptionButton2 Then
        Aranan = "B"
    ElseIf OptionButton3 Then
        Aranan = "C"
    ElseIf OptionButton4 Then
        Aranan = "D"
    ElseIf OptionButton5 Then
        Aranan = "*"
    End If
    
    Son = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    
    If Aranan = "*" Then
        Range("A1:H" & Son).PrintOut , , TextBox1
    Else
        Set Bul1 = Range("A:A").Find(Aranan, Range("A" & Son), , xlWhole)
        Set Bul2 = Range("A:A").Find(Aranan, Bul1, , xlWhole)
        If Not Bul1 Is Nothing And Not Bul2 Is Nothing Then
            Range("A" & Bul1.Row & ":H" & Bul2.Row).PrintOut , , TextBox1
        Else
            MsgBox "Aranan kriter bulunamadı!", vbCritical
        End If
    End If
End Sub
 
Yusuf bey ve Korhan bey ilginiz için çok teşekkür ederim. Elinize sağlık.

benim konu haricinde bir sorum olacak yukarıda Userform1 ekrana geldiğinde Z isimli sutunu gizlemek Userform1'in kapatma düğmesine bastığımda ise Z isimli sütunun tekrar göstermek istiyorum bunun için nasıl bir yol önerirsiniz.
 
Geri
Üst