Yazdırmadan önce zaman kontrolü

Katılım
29 Haziran 2018
Mesajlar
297
Excel Vers. ve Dili
2016 TÜRKÇE
Arkadaşlar merhaba Kazanım Değerlendirme Dosyaları üzerinde çalışıyorum. Yazıcıdan direkt çıktı almak için iki düğmeye iki kod atadım. Bunlar:

Sub yazdır_1()
Sayfa1.PrintOut
End Sub ile 1. dönemin çıktılarını,


Sub yazdır_2()
Sayfa2.PrintOut
End Sub ile de 2. dönemin çıktılarını yazdırıyorum.

Burada sorun yok. Sorun 1. Dönem yerine 2. Dönem düğmesine tıklayınca boş yere 9 sayfa çıktı yazdırılıyor. Benim yapmak istediğim;

1. Dönem makrosu "OCAK" ayı dışında, 2. Dönem makrosu "HAZİRAN" ayı dışında tıklanır ise uyarı vererek mesela "Yanlış dönemi yazdırıyorsunuz. Emin misiniz" diye sorsa bu aylar içinde ise direkt yazdırsa olabilir mi acaba? Şimdiden teşekkürler.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Ocak ve Haziranın yazılı olduğu bir hücre var ise onu kontrol ederek çıktıyı alabilirsiniz. Örnek dosya eklerseniz çözüm sunulabilir.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
sayfa1 de a1:c10 aralığı yazdırılır.:cool:
Kod:
Sub yazdır_1()
Sayfa1.PageSetup.PrintArea = "A1:C10"
Sayfa1.PrintOut
End Sub
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki şekilde deneyin.
Kod:
Sub yazdır_1()
If Month(Date) = 1 Then
    Sayfa1.PrintOut
Else
    MsgBox "Ocak ayı haricinde çıktı alamazsınız...", vbInformation, "UYARI"
End If
End Sub
Sub yazdır_2()
If Month(Date) = 6 Then
    Sayfa2.PrintOut
Else
    MsgBox "Haziran ayı haricinde çıktı alamazsınız...", vbInformation, "UYARI"
End If
End Sub
 
Katılım
29 Haziran 2018
Mesajlar
297
Excel Vers. ve Dili
2016 TÜRKÇE
Orion Hocam yazdığınız kod istediğim kod değil maalesef. İlginize teşekkür ederim.
Askm Üstadım yazdığınız kod Tamamen engellemiş. Uyarı verdikten sonra mesela "Yine de yazdırmak istiyor musun" Evet Hayır ile seçilebilmeli. Teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayfa1 a1:a10 arasını msgboxla yazdırmak.
kodlar aşağıdadır.
Kod:
Sub yazdır_1()
If MsgBox("Sayfa1 i yazdırmak istiyormusunuz?", vbYesNo, Application.UserName) = vbNo Then
    MsgBox "sayfa1 için yazdırma iptal oldu", vbCritical, Application.UserName
Else
    Sayfa1.PageSetup.PrintArea = "A1:C10"
    Sayfa1.PrintOut
End If
End Sub
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Kod:
Sub yazdır_1()
If Month(Date) = 1 Then
    Sayfa1.PrintOut
Else
    Soru = MsgBox("Ocak ayı haricinde çıktı alamazsınız.Yine de yazdırmak istiyor musunuz?", vbYesNo + vbQuestion, "Ay Kontrolü")
    If Soru = vbNo Then
        Exit Sub
    Else
        Sayfa1.PrintOut
    End If
End If
End Sub
Sub yazdır_2()
If Month(Date) = 1 Then
    Sayfa2.PrintOut
Else
    Soru = MsgBox("Haziran ayı haricinde çıktı alamazsınız.Yine de yazdırmak istiyor musunuz?", vbYesNo + vbQuestion, "Ay Kontrolü")
    If Soru = vbNo Then
        Exit Sub
    Else
        Sayfa2.PrintOut
    End If
End If
End Sub
 
Katılım
29 Haziran 2018
Mesajlar
297
Excel Vers. ve Dili
2016 TÜRKÇE
Askm Üstadım yazdığınız kod tam olarak yapmak istediğim şeyi gerçekleştiriyor. Teşekkür ediyorum.

Orion 1 Üstadım size de çok teşekkür ediyorum. Saygılar.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Rica ederim. Hayırlı akşamlar. Kolay gelsin.
 
Üst