Zorunlu Hücre Uygulaması ve Kritere uyan sayfanın yazdırılması

Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Hepinize iki akşamlar. Arkadaşlar üstadlar...Sizden bir konuda yardımlarınızı bekliyorum. Birincisi Şu… Ekli dosyada "Kod" bölümünün altında 5 tane veri girme yeri var.. Burada hangi kod bölümü dolu ise onun satırındaki ile SOYADI - ADI ve ADRESİ bölümleri doldurulmadan bu excel dosyasından (RAPOR-ICMAL-DILEKCE SAYFALARI) hiçbir şekilde yazıcıdan çıktı alınmasın. Yani eğer kod bölümü dolu ise adı soyadı ve adres bilgilerin girilmesi zorunlu olsun...

İkinci Ricam ise eğer eğer toplam alınan ücret 15 ytl den büyük ise icmal sayfası 15 ytl den küçük ise dilekçe sayfasını yazdırmak istiyorum. Yani tek bir yazdırma tuşu olacak hangi kritere uyuyorsa o sayfayı yazacak.

Konu ile ilgili gerekli açıklamalar örnek dosyada mevcuttur. Şimdiden Tşk....
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,666
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub KONTROL()
    Sheets("RAPOR").Select
    For X = 9 To 13
    If Cells(X, 2) <> "" Then
    If Cells(X, 10) = "" Or Cells(X, 16) = "" Or Cells(X, 21) = "" Then
    MsgBox "YAZDIRMAK &#304;&#199;&#304;N GEREKL&#304; B&#214;L&#220;MLER&#304; DOLDURMALISINIZ !" & Chr(10) & Chr(10) & "SOYADI" & Chr(10) & "ADI" & Chr(10) & "ADRES&#304;", vbCritical, "D&#304;KKAT !"
    SAY = SAY + 1
    Exit For
    End If
    End If
    Next
    If SAY = 0 Then
    If [V6] >= [IV1] Then
    Sheets("ICMAL").PrintOut
    Else
    Sheets("DILEKCE").PrintOut
    End If
    End If
End Sub
 
Son düzenleme:
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Üstad öncelikle ilgilendiğin için tşk. Ederim. Yalnız makro çalışıyor ama tam istediğim gibi değil...

Birincisi hücreleri doldur diye uyarı veriyor fakat tamam tuşuna bastığımızda hücreler doldurulmadığı halde kritere uyan sayfayı yazdırıyor... Ben o hücreler dolmadan hiç bir şekilde çıktı alınmasını istemiyorum...

Birde "rapor" isimli sayfanın yazdırılmasına gerek yok... Gerekli hücreler dolu olmak kaydı ile girilen tutar 15 ytl den büyükse icmal değilse dilekçe isimli sayfalar yazılacak... Son olarak 15 yi makroda tanımlarken rakam olarak değilde hücre olarak tanımlarsız çok iyi olur.. Çünkü o rakam 6 ayda bir değişecek...

Tekrar teşekkür eder saygılar sunarım.
 
Katılım
3 Nisan 2007
Mesajlar
235
Excel Vers. ve Dili
2003 TR
Birincisi hücreleri doldur diye uyarı veriyor fakat tamam tuşuna bastığımızda hücreler doldurulmadığı halde kritere uyan sayfayı yazdırıyor... Ben o hücreler dolmadan hiç bir şekilde çıktı alınmasını istemiyorum...
Çözüm için exit For yerine exit sub yazın
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,666
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

&#220;stteki mesj&#305;mdaki kodu g&#252;ncelledim. &#304;ncelermisiniz.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Üstad son düzenlemede nedense rakam ne olursa olsun icmal sayfasını yazdırıyor sanırım...

İlk mesajdaki örnek dosyada kolay kodlama yapılsın diye bir bölüm ekledim... Dosyaya bakarsanız anlarsınız... Birde eğer mümkünse uyarı verirlen standart bir uyarı değilde ilgili satırla ilgili bir uyarı verirse çok iyi olur... Eğer olmazsada bu şekildede kullanmaya çalışırım.. Elinize emeğinize sağlık...

ÖRNEK UYARI: Nakliye ile ilgili gerekli satırlar doldurulmadı

Dosyayı bu mesajada ekliyorum...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,666
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı incelermisiniz.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
&#220;stad uyar&#305; k&#305;sm&#305; tam istedi&#287;im gibi fakat bu seferde yazd&#305;rm&#305;yor....Help...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,666
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

ICMAL ve DILEKCE isimli sayfalarda veri olmad&#305;&#287;&#305; i&#231;in yazd&#305;rm&#305;yordur. Ben &#351;imdi test ettim ve kod gayet g&#252;zel &#231;al&#305;&#351;t&#305;.
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
Yihhhhhhuuuuuu.... Evet.... haklısın... çalışıyor.... eline emeğine... klavyene sağlık......

Günün Dersi: Demek ki neymiş..... Verilen cevapları iyice kontrol etmeden tekrar tekrar soru sormayacakmışız....
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
&#220;stadlar dosyaya son &#351;eklini verece&#287;im fakat bir iki ufak sorun kald&#305;. 7. Mesajdaki &#246;rnek dosyadan yola &#231;&#305;kacak olursak. Orada eksik olan h&#252;crenin doldurulmas&#305; i&#231;in uyar&#305; veriyor. Acaba uyar&#305; verdikten sonra o h&#252;crenin se&#231;ilmesi m&#252;mk&#252;n m&#252;... Mesela Soyad&#305; b&#246;l&#252;m&#252; eksik diyorsa soyad&#305; b&#246;l&#252;m&#252; se&#231;ili olsun...Yani hem uyar&#305; versin hemde doldurulmas&#305; i&#231;in o h&#252;creye gitsin.. &#350;imdiden t&#351;k eder sayg&#305;lar sunar&#305;m..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,666
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

&#214;rnek dosyadaki kodu a&#351;a&#287;&#305;daki &#351;ekilde de&#287;i&#351;tirip denermisiniz.

Kod:
Sub YAZDIR()
    Sheets("RAPOR").Select
    For X = 9 To 13
    If Cells(X, 2) <> "" Then
    If Cells(X, 10) = "" Or Cells(X, 16) = "" Or Cells(X, 21) = "" Then
    EK_MESAJ_1 = IIf(Cells(X, 10) = "", "SOYADI", "")
    EK_MESAJ_2 = IIf(Cells(X, 16) = "", "ADI", "")
    EK_MESAJ_3 = IIf(Cells(X, 21) = "", "ADRES&#304;", "")
    MsgBox Cells(X, 4) & "  ile ilgili gerekli sat&#305;rlar doldurulmad&#305; !" & Chr(10) & Chr(10) & EK_MESAJ_1 & Chr(10) & EK_MESAJ_2 & Chr(10) & EK_MESAJ_3, vbCritical, "D&#304;KKAT !"
    SAY = SAY + 1
    If EK_MESAJ_1 <> "" Then Cells(X, 10).Select: GoTo Devam
    If EK_MESAJ_2 <> "" Then Cells(X, 16).Select: GoTo Devam
    If EK_MESAJ_3 <> "" Then Cells(X, 21).Select: GoTo Devam
    Exit For
    End If
    End If
    Next
Devam:
    If SAY = 0 Then
    If [V6] >= [V4] Then
    Sheets("ICMAL").PrintOut
    Else
    Sheets("DILEKCE").PrintOut
    End If
    End If
End Sub
 
Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
&#220;stad tekrar eline sa&#287;l&#305;k... tam istedi&#287;im gibi....
 
Üst