bir sütundaki değeri sıfır olan hücrelerin olduğu satırı gizleme

Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
merhaba, çok sekmeli bir excel dosyasında tüm çalışma sayfalarındaki U sütununun 9-250 arasında değeri 0 olan (hücreler içerisinde formül var ve sonuç sıfır çıkanlar) veya boş olan hücre değerlerinin olduğu tüm satırların gizlenmesi için makro arıyorum. aradım ama uygun olanı bulamadım.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Bir modül içine aşağıdaki kodları yazıp deneyiniz

Kod:
Sub Gizle()
Dim i As Integer, lr As Integer, ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sayfa1")
lr = ws.Range("U1048576").End(xlUp).Row

For i = 9 To 250
      If ws.Cells(i, "U").Value = "" Or Application.WorksheetFunction.CountA(Cells(i, "U").Value) = 0 Then
            ws.Cells(i, "U").EntireRow.Hidden = True
      End If
Next i
End Sub
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Selamlar

Bir modül içine aşağıdaki kodları yazıp deneyiniz

Kod:
Sub Gizle()
Dim i As Integer, lr As Integer, ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sayfa1")
lr = ws.Range("U1048576").End(xlUp).Row

For i = 9 To 250
      If ws.Cells(i, "U").Value = "" Or Application.WorksheetFunction.CountA(Cells(i, "U").Value) = 0 Then
            ws.Cells(i, "U").EntireRow.Hidden = True
      End If
Next i
End Sub


Set ws = ThisWorkbook.Sheets("Sayfa1") Kısmı hata veriyor, sekmelerimin isimleri sayfa1 .... diye gitmiyor. ilgili olabilir mi?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

("Sayfa1") kısmını sizin sayfanızın adı ne ise onu yazın
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Selamlar

("Sayfa1") kısmını sizin sayfanızın adı ne ise onu yazın
çok sekmeli bir excel dosyasında tüm çalışma sayfalarındaki dediğim kısmı atladınız sanırım. bir çok sekmem var. bir tane olsa zaten kolay. teşekkürler.
 
Katılım
9 Şubat 2022
Mesajlar
203
Excel Vers. ve Dili
Office 2021 Türkçe (x64)
Altın Üyelik Bitiş Tarihi
09-02-2027
Muzaffer Beyin yazdığı kodu tüm sayfaya uyarlayabilirsiniz:
Kod:
Sub Gizle()
    Dim ws As Worksheet
    Dim i As Integer, lr As Integer

    For Each ws In ThisWorkbook.Sheets
        lr = ws.Cells(ws.Rows.Count, "U").End(xlUp).Row

        For i = 9 To lr
            If ws.Cells(i, "U").Value = "" Or Application.WorksheetFunction.CountA(ws.Cells(i, "U").Value) = 0 Then
                ws.Cells(i, "U").EntireRow.Hidden = True
            End If
        Next i
    Next ws
End Sub
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Muzaffer Beyin yazdığı kodu tüm sayfaya uyarlayabilirsiniz:
Kod:
Sub Gizle()
    Dim ws As Worksheet
    Dim i As Integer, lr As Integer

    For Each ws In ThisWorkbook.Sheets
        lr = ws.Cells(ws.Rows.Count, "U").End(xlUp).Row

        For i = 9 To lr
            If ws.Cells(i, "U").Value = "" Or Application.WorksheetFunction.CountA(ws.Cells(i, "U").Value) = 0 Then
                ws.Cells(i, "U").EntireRow.Hidden = True
            End If
        Next i
    Next ws
End Sub
olmuyor maalesef. elle yapmaya başladım teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,156
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kullandığınız formül önemli..

Yinede alternatif olarak aşağıdaki kodu deneyebilirsiniz.

C++:
Option Explicit

Sub Zero_Or_Blanks_Cells_Hidden_Row()
    Dim My_Sheet As Worksheet, Rng As Range, My_Area As Range
    
    Application.ScreenUpdating = False
    
    For Each My_Sheet In ThisWorkbook.Worksheets
        My_Sheet.Cells.EntireRow.Hidden = False
        
        For Each Rng In My_Sheet.Range("U9:U250")
            If Rng = 0 Or Rng = "" Then
                If My_Area Is Nothing Then
                    Set My_Area = Rng
                Else
                    Set My_Area = Union(Rng, My_Area)
                End If
            End If
        Next
        If Not My_Area Is Nothing Then
            My_Area.EntireRow.Hidden = True
            Set My_Area = Nothing
        End If
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Kullandığınız formül önemli..

Yinede alternatif olarak aşağıdaki kodu deneyebilirsiniz.

C++:
Option Explicit

Sub Zero_Or_Blanks_Cells_Hidden_Row()
    Dim My_Sheet As Worksheet, Rng As Range, My_Area As Range
   
    Application.ScreenUpdating = False
   
    For Each My_Sheet In ThisWorkbook.Worksheets
        My_Sheet.Cells.EntireRow.Hidden = False
       
        For Each Rng In My_Sheet.Range("U9:U250")
            If Rng = 0 Or Rng = "" Then
                If My_Area Is Nothing Then
                    Set My_Area = Rng
                Else
                    Set My_Area = Union(Rng, My_Area)
                End If
            End If
        Next
        If Not My_Area Is Nothing Then
            My_Area.EntireRow.Hidden = True
            Set My_Area = Nothing
        End If
    Next
   
    Application.ScreenUpdating = True
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Bir Korhan Ayhan klasiği, çok teşekkürler. İşlem tamam.
 
Üst