• DİKKAT

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

İkinci Sayfada veri Yoksa 1. Sayfa Yazılsın

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
975
Excel Vers. ve Dili
Excel-2003
2 Sayfalık bir tablom var. Bazen 2. sayfası doluyor bazende dolmuyor. Fakat Genel toplam 2. sayfanın sonunda çıkıyor.
1. sayfaya az veri girdiğimde 2. sayfa boş kalıyor yazdırırken 2. sayfa boş geliyor ve gereksiz basılıyor.
İstediğim ekli dosyadaki sayfayı yazıdırırken 1. sayfayı yazdırsın 2. sayfayı yazdırmasın ama 2. sayfanın yekününü 1. sayfaya alsın.. Yani Yazdırırken boş satırları gizlesin
 

Ekli dosyalar

Öncelikle dosyanızdaki sayfa sonlarını iptal edin.

Dosyanıza bir düğme ekleyin. Düğmenin Adı Düğme 1 olsun.

Aşağıdaki kodları bir modüle ekleyin.

Eklediğiniz düğmeye sağ tıklayıp makro atamayı ve süzme makrosunu seçin.

Düğmeye bastığınızda boş satırlar gizlenecek, sonraki basmanızda boş satırlar gösterilecektir:

Kod:
Sub süzme()
If [J4] = "Süzülmemiş" Then
        ActiveSheet.Range("$A$9:$I$85").AutoFilter Field:=9, Criteria1:="DOLU"
        [J4] = "Süzülmüş"
        ActiveSheet.Shapes.Range(Array("Button 1")).Select
        Selection.Characters.Text = "Boş Satırları Göster"
        [D1].Select
Else
    ActiveSheet.Range("$A$9:$I$85").AutoFilter Field:=9
    [J4] = "Süzülmemiş"
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    Selection.Characters.Text = "Boş Satırları Gizle"
    [D1].Select
End If
End Sub
 
Sayfa sonu derken Yazdırma alanımı?
 
Yusuf bey benim dosya üzerinden eklermisiniz* Ayrıca buna ilaveten bu süz işi dışında sayfayı kopyalyan ayrı bir kod da lazım..
 
Ekli dosyayı inceleyiniz.

Diğer isteğiniz için tam olarak nasıl bir işlem istediğinizi örnek dosyanız üzerinden ayrıntılı olarak gösterirseniz yardımcı olmaya çalışırız.
 

Ekli dosyalar

Teşekkür ederim gayet güzel olmuş. Ama size göndediğim Test dosyasıydı kod haricinde neyi değiştirdiniz? Sayfa sonu iptal nedir?

Diğer konu o sayfayı kopyala dediğimde yanına kopyasını alacak
 
Sizin dosyanızda 2 sayfada yazdırılacak şekilde ayarlamıştınız. Boş satırları gizle dediğimizde toplam satırı ilk sayfaya gelmiyor, ikinci sayfada kalıyordu. Bu işlem genelde sayfa sonu önizleme modunda iken herhangi bir satır ya da sütuna sağ tıklayıp "sayfa sonu ekle" denilerek ya da sayfa sonu çizgisi fareyle istenen yere taşınarak yapılır.

İptal etmek için yine sayfa sonu önzileme modunda iken sütun veya satır başlıklarına tıklayıp tüm sayfa sonlarını sıfırla demeniz gerekiyor. Yazıyla anlatması biraz zor.

Diğer isteğiniz tam anlaşılmıyor. Bulunulan sayfadaki veriler aynı sayfada yan tarafa mı kopyalanacak, sayfanın birebir kopyası mı oluşturulacak veya bir kısmı mı aktarılacak, ne zaman, hangi şartta yapılacak?
 
Sayfa sonunu anladım hallettim sağol.. Ya diğer konu şu ben bu kartı işledim. Başka birine kart açacağım bu sayfanın kopyasını Sağ Tuş kopya oluştur ile yapıyoruz bunu makro ile yapmak istiyorum..
 
Makro kaydet yoluyla elde ettiğim makro şu şekilde:


Kod:
Sub Makro2()
'
' Makro2 Makro
'

'
    Sheets("Müşerref DORUK").Copy Before:=Sheets(3)
End Sub

Bu kodu her zaman seçili sayfanın kopyasını seçili sayfadan sonraya eklemesi için şu şekilde değiştirdim:

Kod:
Sub Makro2()
'
' Makro2 Makro
'

'
    ActiveSheet.Copy after:=ActiveSheet
End Sub

Makro hangi sayfada çalıştırılırsa hemen yanına aynı sayfadan bir tane daha oluşturur.
 
Teşekkür ederim. İsim yazılı sayfa olmaz çünkü ana şablon değil. Diğer kod işimi gördü sizede zahmet verdik. Eskiden biliyorduk ama unutuluyor sanal işte..Elinize sağlık..
 
Yusuf bey, bir sorunum var.. Hücrelerde değişiklik yapılmasın diye Koruma Şifresi koydum fakat Gizle Göster makrosunda hata veriyor hata kodu
Gizle yada göster dediğimde değişiyor hata kodu..
Kod:
ActiveSheet.Range("$A$9:$G$85").AutoFilter Field:=7

Boş Dolu Özelliği olmadan da başka makro olursa Sayfa Kilitlenmesinden etkilenmeyecek sanki iyi olacak gibi..
 
Süzme ve süzme iptal işlemlerinden önce sayfa kilidini açma ve sonra da kapatma kodlarını eklerseniz sıkıntı olmaz. Sanıyorum kodlar şöyleydi :

Activesheet.Protect şifreniz

ActivesheetUnprotect şifreniz

İlk satır koruma, ikinci satır koruma iptali için. Şifreniz yerine belirlediğiniz şifreyi yazmalısınız.
 
Süzme ve süzme iptal işlemlerinden önce sayfa kilidini açma ve sonra da kapatma kodlarını eklerseniz sıkıntı olmaz. Sanıyorum kodlar şöyleydi :

Activesheet.Protect şifreniz

ActivesheetUnprotect şifreniz

İlk satır koruma, ikinci satır koruma iptali için. Şifreniz yerine belirlediğiniz şifreyi yazmalısınız.

Süper oldu.. Sayfa Koruma şifresi ile çalışan kodun revize edilmiş hali..
Teşekkürler

Kod:
Sub süzme()
ActiveSheet.Unprotect Password:="ŞİFRENİZ""
If [J4] = "Süzülmemiş" Then
        ActiveSheet.Range("$A$9:$G$85").AutoFilter Field:=7, Criteria1:="DOLU"
        [J4] = "Süzülmüş"
        ActiveSheet.Shapes.Range(Array("Düğme 1")).Select
        Selection.Characters.Text = "***Boş Satırları Göster***"
        [D1].Select
Else

    ActiveSheet.Range("$A$9:$G$85").AutoFilter Field:=7
    [J4] = "Süzülmemiş"
    ActiveSheet.Shapes.Range(Array("Düğme 1")).Select
    Selection.Characters.Text = "Boş Satırları Gizle"
    [D1].Select
End If
ActiveSheet.Protect Password:="ŞİFRENİZ""
End Sub
 
Geri
Üst