• DİKKAT

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

Çalışma Kitabında Belirli sayfaları yazdırma

  • Konbuyu başlatan Konbuyu başlatan Kavinsky
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Şubat 2016
Mesajlar
274
Excel Vers. ve Dili
Office 365 Türkçe
Merhabalar.
Benim sistemimde bir buton var a2 hücresine yazılan isim için yeni bir Personel sayfası oluşturuyor. Ben o sayfaya personel bilgilerini işliyorum. Personel ekledikçe 25 sayfaya ulaştı alt kısım. Ben aylık rapor almak istediğimde tek tek çıktı alacağıma bir kod yazdım Örnek vermek gerekirse Ali isimli sayfayı yazdır Veli isimli sayfayı yazdır gibi alt alta 25 adet yazdırma kodu oluştu hali ile. Esas olay şu yeni personel ekleyince hali ile sayfayı yazdırma kodunuda eklemek gerekiyor. Bu yöntemi kaldırmak ve imkanı var ise koda bağlamak istiyorum şöyle ki;

İlk 3 sıradaki sayfalar hariç kalan tüm sayfaları yazdır gibi bir kod mümkün müdür acaba?

Şimdiden teşekkür ederim.
 
Yardımınız için çok teşekkür ederim üstadım. Peki bu işlemi sayfa gizleme ve gösterme olarak yapmak mümkün müdür ? Ben forumda arama yaptım fakat bulamadım. Ya da yanlış anahtar kelime kullandım.
Yani belirli sayfalar hariç kalan tüm sayfaları gizle gibi ?
 
Yardımınız için çok teşekkür ederim üstadım. Peki bu işlemi sayfa gizleme ve gösterme olarak yapmak mümkün müdür ? Ben forumda arama yaptım fakat bulamadım. Ya da yanlış anahtar kelime kullandım.
Yani belirli sayfalar hariç kalan tüm sayfaları gizle gibi ?

Sayfa1 ve sayfa2 hariç diğer sayfalar gizleniyor.:cool:
Kod:
Sub sayfagizle()
'Sayfa3 gizleniyor
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "Sayfa1" And sh.Name <> "Sayfa2" Then sh.Visible = False
Next
End Sub
 
Sanırım bir yerlerde hata yaptım.

Hepsini yazdırma kodu bu.

Kod:
Dim myArray() As Variant
Dim i As Integer
Dim j As Integer
Sayfa_Adı = ActiveSheet.Name
j = 0
For i = 1 To Sheets.Count
r = 0
If Sheets(i).Name = "IZIN" Then
r = 1
ElseIf Sheets(i).Name = "MAIN" Then
r = 1
ElseIf Sheets(i).Name = "RAPOR" Then
r = 1
ElseIf Sheets(i).Name = "ÇIKIŞLAR" Then
r = 1
End If
If r = 0 Then
ReDim Preserve myArray(j)
myArray(j) = i
j = j + 1
End If
Next i
Sheets(myArray).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets(Sayfa_Adı).Select

Tüm sayfaları Gösterme

Kod:
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "IZIN" And sh.Name <> "MAIN" And sh.Name <> "RAPOR" And sh.Name <> "ÇIKIŞLAR" Then sh.Visible = True
Next


Tüm sayfaları gizleme

Kod:
Dim sh As Worksheet
For Each sh In Worksheets
    If sh.Name <> "IZIN" And sh.Name <> "MAIN" And sh.Name <> "RAPOR" And sh.Name <> "ÇIKIŞLAR" Then sh.Visible = False
Next

Amacım Şu önce IZIN,MAIN,ÇIKIŞLAR VE RAPOR isimli sayfalar hep gözüksün kalan gizli sayfalar önce gösterilsin sonra hepsi
yazdırılsın ve ardından hepsi gizlensin ama IZIN,MAIN,ÇIKIŞLAR VE RAPOR isimli sayfalar hep açık kalsın. Kodları yapmaya çalıştım ama sanırım bir yerde yanlış yaptım ve hata veriyor.
 
kod:

Kod:
Sub deneme()
Dim myArray() As Variant
Dim i As Integer
Dim j As Integer
Dim r As Integer

Dim s As Integer
Dim m As Integer

Dim Sayfa_Adı As String

Sayfa_Adı = ActiveSheet.Name

For s = 1 To Sheets.Count
Sheets(Sheets(s).Name).Visible = True
Next


j = 0
For i = 1 To Sheets.Count
r = 0
If Sheets(i).Name = "IZIN" Then
r = 1
ElseIf Sheets(i).Name = "MAIN" Then
r = 1
ElseIf Sheets(i).Name = "RAPOR" Then
r = 1
ElseIf Sheets(i).Name = "ÇIKIŞLAR" Then
r = 1
End If
If r = 0 Then
ReDim Preserve myArray(j)
myArray(j) = i
j = j + 1
End If
Next i
Sheets(myArray).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Sheets(Sayfa_Adı).Select


For m = 1 To Sheets.Count
If Sheets(m).Name = "IZIN" Or Sheets(m).Name = "MAIN" Or Sheets(m).Name = "RAPOR" Or Sheets(m).Name = "ÇIKIŞLAR" Then
Else
Sheets(Sheets(m).Name).Visible = False
End If
Next


End Sub
 
Ellerinize sağlık hocam. Çok müteşekkirim.
 
Geri
Üst