• DİKKAT

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

excelde formül olan ama veri gelmemiş olan hücreleri yazdırma alanına almak istemiyorum

Katılım
23 Mart 2021
Mesajlar
6
Excel Vers. ve Dili
2016
Merhabalar :
ben farklı bir sayfadan formülle veri getirdim. ve sayfamda bir hücreye arka plandaki tablo numaramı yazdığımda o tablodaki verileri getiyor. yazdığım numradan gelen veriler bana 1 tablo oluştururken 7 tabloda oluşturabiliyor. ama 1 tablo geldiğinde sanki 7 tablo gelmiş gibi bana 3 sayfalık bir yazdırma alanı geliyor. formül olan hücreleri dolu olarak görüyor ama ben o hücrelere veri gelmediyse yazdırma alanına girmesin istiyorum. Yazdırmak istediğim veriler C,D,E sütunlarından aşağı doğru oluşuyor. Sadece bu sütunlarda veri gelen hücreleri yazdırma alanına alsın istiyorum. Yardımcı olur musunuz?
 
Merhaba,

İnceleyiniz.

 
Merhaba ;

yönledirdiğiniz mesajı inceledim fakat kendi excelime uyarlarken hata yapıyorum sanırım çalışmıyor.
 
O zaman örnek dosyanızı paylaşınız.
 
"PAKETLEME STİCKER" sayfasında yazdırma alanınız nedir? Hangi sütun aralığını yazdırıyorsunuz?
 
Bir önce paylaştığım linkteki açıklamada belirtilen YAZDIMA ALANI bölümündeki formülü aşağıdaki gibi uygulayıp deneyiniz.

C++:
=KAYDIR('PAKETLEME STİCKER'!$C$1;;;ARA(2;1/('PAKETLEME STİCKER'!$C$1:$C$1000<>"");SATIR('PAKETLEME STİCKER'!$C$1:$C$1000));3)
 
Dosyanızı biraz karışık hazırlamışsınız. Aşağıdaki kodları Sticker sayfasının kod bölümüne yapıştırırsanız H2 hücresine yazdığınız kesim sıra numarası Sayfa2'de kaç taneyse ona göre yazdırma alanı belirler:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H2]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Set s2 = Sheets("Sayfa2")
son = s2.Cells(Rows.Count, "C").End(3).Row
If WorksheetFunction.CountIf(s2.Range("C1:C" & son), Target) = 0 Then
    MsgBox Target & " nolu kesim kaydı bulunamadı!", vbInformation
Else
    ortak = WorksheetFunction.CountIf(s2.Range("C1:C" & son), Target)
    ActiveSheet.PageSetup.PrintArea = "$B$1:$F$" & 14 + (ortak - 1) * 17
End If
End Sub
 
Bir önce paylaştığım linkteki açıklamada belirtilen YAZDIMA ALANI bölümündeki formülü aşağıdaki gibi uygulayıp deneyiniz.

C++:
=KAYDIR('PAKETLEME STİCKER'!$C$1;;;ARA(2;1/('PAKETLEME STİCKER'!$C$1:$C$1000<>"");SATIR('PAKETLEME STİCKER'!$C$1:$C$1000));3)
Çok teşekkür ederim gerçekten bir sürü makro falan denedim bi türlü yapamamıştım çok saolun :)
 
Dosyanızı biraz karışık hazırlamışsınız. Aşağıdaki kodları Sticker sayfasının kod bölümüne yapıştırırsanız H2 hücresine yazdığınız kesim sıra numarası Sayfa2'de kaç taneyse ona göre yazdırma alanı belirler:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H2]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Set s2 = Sheets("Sayfa2")
son = s2.Cells(Rows.Count, "C").End(3).Row
If WorksheetFunction.CountIf(s2.Range("C1:C" & son), Target) = 0 Then
    MsgBox Target & " nolu kesim kaydı bulunamadı!", vbInformation
Else
    ortak = WorksheetFunction.CountIf(s2.Range("C1:C" & son), Target)
    ActiveSheet.PageSetup.PrintArea = "$B$1:$F$" & 14 + (ortak - 1) * 17
End If
End Sub
teşekkür ederim yardımınız saolun :)
 
Geri
Üst