• DİKKAT

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

Makroda değere göre yazdırma

Katılım
16 Nisan 2015
Mesajlar
27
Excel Vers. ve Dili
office 2007 - 2010
Merhabalar makroda bir buton atadım ve içine aşağıdaki değerleri girdim.

Kod:
Private Sub CommandButton1_Click()
ActiveWorkbook.Save
Sheets("sayfa 1").PrintOut
Sheets("sayfa 2").PrintOut
Sheets("sayfa 3").PrintOut
Sheets("sayfa 4").PrintOut
Sheets("sayfa 5").PrintOut
Sheets("sayfa 6").PrintOut
Sheets("sayfa 7").PrintOut
End Sub

Yapmak istediğim, makronun içine şöyle bir komut tanımlamak Eğer "c5" hücresi "firma 1" verisini içeriyor ise "sayfa 7" yi yazdır.

Yardımlarınız için şimdiden teşekkürler.
 
Merhaba,

Kod:
    If Range("C5") = "firma 1" Then
        Sheets("sayfa 7").PrintOut
    End If

Şeklinde kullanabilirsiniz.

.
 
Merhabalar; Aşağıdaki şekilde bir adet "çıktı al ve kaydet" butonum var bu butonda görüldüğü gibi "c7" hücresi secili ise "şöför" sayfasını yazdır diye bir komut var bu komuta ek olarak "c7" hücresi "merkez,muhasebe,inşaat" ibarelerini içeriyor ise "şube bilgi" sayfasını yazdırma diye bir komut nasıl eklerim. şimdiden yardımcı olan herkese teşekkür ederim.

Kod:
Private Sub CommandButton1_Click()
ActiveWorkbook.Save
Sheets("BİLGİ FORMU").PrintOut
Sheets("SÖZLEŞME").PrintOut
Sheets("AİLE BİLDİRİMİ").PrintOut
Sheets("TAAHÜTNAME").PrintOut
Sheets("MESAİ ONAY BELGESİ").PrintOut
Sheets("ŞUBE BİLGİ").PrintOut
If Range("C7") = "MERKEZ - ŞOFÖR" Then
        Sheets("ŞÖFÖR").PrintOut
    End If
End Sub
 
Bu şekilde deneyin.

Kod:
Private Sub CommandButton1_Click()

    ActiveWorkbook.Save
    Sheets("BİLGİ FORMU").PrintOut
    Sheets("SÖZLEŞME").PrintOut
    Sheets("AİLE BİLDİRİMİ").PrintOut
    Sheets("TAAHÜTNAME").PrintOut
    Sheets("MESAİ ONAY BELGESİ").PrintOut
    
    '------------- Bu kısımı pasif yaptım, silinebilir ----
    'Sheets("ŞUBE BİLGİ").PrintOut
    
    'If Range("C7") = "MERKEZ - ŞOFÖR" Then
     '   Sheets("ŞÖFÖR").PrintOut
    'End If
    '------------------------------------------------------
    
    
    '--------- İlave --------------------------------------
    Dim ara1(), ara2(), i As Byte, deg1 As String

    ara1 = Array("MERKEZ", "MUHASEBE", "İNŞAAT") 'büyük harf yazın
    
    For i = 0 To UBound(ara1)
        deg1 = UCase(Replace(Replace(Range("C7"), "ı", "I"), "i", "İ"))
        If deg1 Like "*" & ara1(i) & "*" Then
            Sheets("ŞUBE BİLGİ").PrintOut
            Exit For
        End If
    Next i
    
    ara2 = Array("MERKEZ", "ŞOFÖR") 'büyük harf yazın
    
    For i = 0 To UBound(ara2)
        deg1 = UCase(Replace(Replace(Range("C7"), "ı", "I"), "i", "İ"))
        If deg1 Like "*" & ara2(i) & "*" Then
            Sheets("ŞÖFÖR").PrintOut
            Exit Sub
        End If
    Next i
    '--------------------------------------------------------
    
End Sub

.
 
Merhabalar;
Yoğun çalışma temposundan dolayı yeni cevap verebildim kusura bakmayın öncelikle teşekkür ederim. Denedim çalıştıramadım acaba sebebi ne olabilir. benim istediğim.
("C7") hücresinde ("MERKEZ", "MUHASEBE", "İNŞAAT", "MERKEZ - ŞOFÖR") sayfaları secili ise ("ŞUBE BİLGİ") sayfasını YAZDIRMASIN Başka bir ibare secili ise yazdırsın bide ("C7") hücresinde (""MERKEZ - ŞOFÖR") sayfaları secili ise ("ŞÖFÖR") sayfasını YAZDIRSIN teşekkür ederim.
 
Bu şekilde deneyin.

Kod:
Private Sub CommandButton1_Click()

    ActiveWorkbook.Save
    Sheets("BİLGİ FORMU").PrintOut
    Sheets("SÖZLEŞME").PrintOut
    Sheets("AİLE BİLDİRİMİ").PrintOut
    Sheets("TAAHÜTNAME").PrintOut
    Sheets("MESAİ ONAY BELGESİ").PrintOut
    
    '------------- Bu kısımı pasif yaptım, silinebilir ----
    'Sheets("ŞUBE BİLGİ").PrintOut
    
    'If Range("C7") = "MERKEZ - ŞOFÖR" Then
     '   Sheets("ŞÖFÖR").PrintOut
    'End If
    '------------------------------------------------------
    
    
    '--------- İlave --------------------------------------
    Dim ara1(), i As Byte, deg1 As String, a As Byte

    ara1 = Array("MERKEZ", "MUHASEBE", "İNŞAAT", "MERKEZ - ŞOFÖR") 'büyük harf yazın
    
    a = 0
    For i = 0 To UBound(ara1)
        deg1 = UCase(Replace(Replace(Range("C7"), "ı", "I"), "i", "İ"))
        If deg1 = ara1(i) Then
            a = a + 1
            Exit For
        End If
    Next i
    
    If a = 0 Then Sheets("ŞUBE BİLGİ").PrintOut
    
    ara2 = Array("MERKEZ", "ŞOFÖR") 'büyük harf yazın
    
    If UCase(Replace(Replace(Range("C7"), "ı", "I"), "i", "İ")) _
        Like "*" & "MERKEZ - ŞOFÖR" & "*" Then
        Sheets("ŞÖFÖR").PrintOut
    End If

    '--------------------------------------------------------
    
End Sub


.
 
Çok teşekkür ederim Ömer bey ilginiz için.
 
Geri
Üst