1. sayfa (Toplam 1 sayfa)

Satır Gizle

Gönderilme zamanı: 14 Eki 2020, 10:23
gönderen nadir
A3:A102 arasındaki boş satırları gizlemek ve yazdırma işi bittikten sonra gösterme kodu gerekiyor.

sub gizle_yazdir
...A3:A102 arası boş satırlar gizlenecek.
....yazdırma (kaydetme) işlmi PDF olarak yapılacak.
....gizlenen satırlar gösterilecek
end sub

Re: Satır Gizle

Gönderilme zamanı: 19 Eki 2020, 17:40
gönderen Hamurcu
Merhaba,

A3:A102 arasındaki boş olan satırları gizlemek için aşağıdaki kodu kullanabilirsiniz.

Kod: Tümünü seç

Sub BosSatirlariGizle()

    Dim Kitap As Object
    Kitap =  ThisComponent

    Dim Sayfa As Object
    Sayfa = Kitap.getSheets().getByIndex(0)

    Dim SatirSayisi As Long
    SatirSayisi=Sayfa.getCellRangeByName("A3:A102").Rows.Count

    SatirNo=0

    For r = 2 To SatirSayisi-1 Step 1
    
        
        Hucre=Sayfa.getCellByPosition( 0, r )
        
        If Hucre.Type = com.sun.star.table.CellContentType.EMPTY Then
          
          Sayfa.Rows.getByIndex(r).IsVisible=False

        End If
        
    Next r

End Sub
Daha önce gizlenmiş olan satırları tekrar görünür yapmak için aşağıdaki kodu kullanabilirsiniz.

Kod: Tümünü seç

Sub GizliSatirlariGoster()

    Dim Kitap As Object
    Kitap =  ThisComponent

    Dim Sayfa As Object
    Sayfa = Kitap.getSheets().getByIndex(0)

    Dim SatirSayisi As Long

    SatirSayisi=Sayfa.getCellRangeByName("A3:A102").Rows.Count

    For r = 2 To SatirSayisi-1 Step 1
    
      Sayfa.Rows.getByIndex(r).IsVisible=True
        
    Next r

End Sub

Re: Satır Gizle

Gönderilme zamanı: 23 Eki 2020, 09:56
gönderen nadir
Teşekkürler

Re: Satır Gizle

Gönderilme zamanı: 22 May 2021, 18:42
gönderen nadir
Hocam, satır gizleme kodunda; hücre formüllü ise formüllü boş hücreleri dolu algılıyor. Bu durumda kodu nasıl revize etmek gerekiyor.

=EĞER($FATURA.D10="";"";$FATURA.D10) bu formülde D10 boş gözüküyorsa boş hücre olarak görülsün. (A3:A102 arası)

Re: Satır Gizle

Gönderilme zamanı: 22 May 2021, 21:42
gönderen Hamurcu
Formüllü hücreler sonuçta doludur ve bu sebeple dolu algılaması gayet normal.

Senin söylemek istediğin sanırım formul sonuç üretmediği durumlarda (Yani boşluk veya 0) olan hücreleri boş saymasını mı istiyorsun?

Eğer durum böyleyse makroyu aşağıdaki şekilde değiştirirsen olacaktır.

Kod: Tümünü seç

If Hucre.Type = com.sun.star.table.CellContentType.EMPTY Then
Yukarıdaki satırı aşağıdaki şekilde değitirin.

Kod: Tümünü seç

If ((Hucre.Type = com.sun.star.table.CellContentType.EMPTY) Or (Hucre.String = "")) Then

Re: Satır Gizle

Gönderilme zamanı: 22 May 2021, 22:56
gönderen nadir
Hocam çok teşekkür ederim, istediğim buydu...