• DİKKAT

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

yazdırma makrosunda sorun

  • Konbuyu başlatan Konbuyu başlatan mbldn
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Mart 2011
Mesajlar
184
Excel Vers. ve Dili
2007 TR
Arkadaşlar ve üstatlar merhaba;
aşağıda sayın korhan ayhan'ın mesajlarından aldığım bir kod dizini var. çalışmam uyarladım ancak eksik kaldı. comboboxtan seçilen değere göre yazdırmadan sayfada filtre oluşturuyorum ancak filtreden sonra 10 ncu satır 4 ncü sütun boş ise uyarı erip yazdırmaması lazım dolu ise yazdırmalı...
yardım eden arkadaşlara teşekkürler

Dim t As Long
With Sheets("www")

t = Sheets("www").Cells(65536, "b").End(xlUp).Row
.Range("$b$9:$o$9").AutoFilter Field:=1, Criteria1:=UserForm1.ComboBox1.Text
With .PageSetup
.PrintArea = "$b1:$o" & t
End With
.PrintOut
End With
Sheets("www").AutoFilterMode = False
 
Merhaba,

Bu şekilde denermisiniz..

Kod:
Dim t As Long
 
With Sheets("www")
    If .Range("D10") = "" Then
        MsgBox "Ölçüt boş, işlemi durdurdum."
        Exit Sub
    Else
        t = Sheets("www").Cells(65536, "b").End(xlUp).Row
        .Range("$b$9:$o$9").AutoFilter Field:=1, _
            Criteria1:=UserForm1.ComboBox1.Text
            With .PageSetup
                .PrintArea = "$b1:$o" & t
            End With
        .PrintOut
    End If
End With
 
Sheets("www").AutoFilterMode = False
.
 
Merhaba,

Bu şekilde denermisiniz..

Kod:
Dim t As Long
 
With Sheets("www")
    If .Range("D10") = "" Then
        MsgBox "Ölçüt boş, işlemi durdurdum."
        Exit Sub
    Else
        t = Sheets("www").Cells(65536, "b").End(xlUp).Row
        .Range("$b$9:$o$9").AutoFilter Field:=1, _
            Criteria1:=UserForm1.ComboBox1.Text
            With .PageSetup
                .PrintArea = "$b1:$o" & t
            End With
        .PrintOut
    End If
End With
 
Sheets("www").AutoFilterMode = False
.

Sayın Ömer Bey;
denedim olmadı. şu sebeple sanıyorum. sayfada hali hazırda veri var. filtreleme olayı yazdır butonunda yani filtrelediğim anda hedef hücrede veri olmazsa yani filtreleme sonucu veri bulunmazsa yazdırmasın uyarı versin istiyorum. tüm kodlar tek bir butonda olduğu için belki sıkıntı oldu bilemiyorum
çok teşekkür ederim yardımınız için
 
"10 ncu satır 4 ncü sütun boş ise"

Bu kısmı detaya inerek açıklarmısınız..

.
 
ömer bey şöyle izah edeyim: yazdırılacak alan bir veri alanı b sütununda aylar mevcut. veriler d sütunu 10 ncu satırdan başlıyor. şu an ocak şubat ve mart ayına ait sayfada veriler var ama mart sonrası yok. comboboxta ise 12 ayın hepsi var. yanlışlıkla ya da başka şekilde combodan aralık seçtim diyelim. yazdırma işlemini durdursun. çünkü sayfa süzüldüğünde aralık ayına ait veri olmayacak. fakat başlıkları yazdıracak.ama ocak seçilirse veri olacağı için sorun yok (bu arada özür dileyerek söylüyorum d10 dediğim için siz ona göre makroyu düzenlediniz. ama ben süzme işlemi yapıldığında d10 da veri varsa her koşulda var olacaktır gerçeğini atladım.) işin aslı süzme yapıldıktan sonra ilk dokuz satır sabit bu satırların altında veri yoksa (süzme sonucu) yazdırmasın
saygılarımla
 
Ayları 9. satırda düşündüm, eğer 10. satırda ise kırmızı bölümleri 10 yaparsınız.

Kod:
Dim t As Long
 
With Sheets("www")
    If WorksheetFunction.CountIf(.Range("B[COLOR=red]9[/COLOR]:O[COLOR=red]9[/COLOR]"), ComboBox1.Value) = 0 Then
        MsgBox "Ölçüt boş, işlemi durdurdum."
        Exit Sub
    Else
        t = Sheets("www").Cells(65536, "b").End(xlUp).Row
        .Range("$b$9:$o$9").AutoFilter Field:=1, _
            Criteria1:=UserForm1.ComboBox1.Text
            With .PageSetup
                .PrintArea = "$b1:$o" & t
            End With
        .PrintOut
    End If
End With
 
Sheets("www").AutoFilterMode = False
.
 
ayları 9. Satırda düşündüm, eğer 10. Satırda ise kırmızı bölümleri 10 yaparsınız.

Kod:
dim t as long
 
with sheets("www")
    ıf worksheetfunction.countıf(.range("b[color=red]9[/color]:o[color=red]9[/color]"), combobox1.value) = 0 then
        msgbox "ölçüt boş, işlemi durdurdum."
        exit sub
    else
        t = sheets("www").cells(65536, "b").end(xlup).row
        .range("$b$9:$o$9").autofilter field:=1, _
            criteria1:=userform1.combobox1.text
            with .pagesetup
                .printarea = "$b1:$o" & t
            end with
        .printout
    end ıf
end with
 
sheets("www").autofiltermode = false
.

hocam çok tşekkür ederim şimdi istediğim gibi oldu sağolun
 
Geri
Üst