• DİKKAT

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

Seçerek Satır gizleme ve gösterme

Katılım
16 Nisan 2008
Mesajlar
313
Excel Vers. ve Dili
Türkçe Microsoft Office Excel 2007
Kod:
Sub xx()
[A5:A250].SpecialCells(xlCellTypeBlanks).EntireRow.Select
'a5 ile a250 arasındaki seçili satırların GİZLENMESİ için gereken kod nasıl yazılır
End Sub
Merhabalar Üstadlarım
Yurıdaki kodla seçtiğimiz satırları nasıl gizleyebiliriz?
Aynı zamanda a5 ile a250 arasındaki 0 değerli satırlarında yine seçilerek gizlenmesini istiyorum.
Bunu nasıl yapabiliriz?
 
Son düzenleme:
Seçili satırları gizlemek için aşağıdaki kodu kullanabilirsiniz.
Kod:
Selection.EntireRow.Hidden = True

Ancak hem boş hem de 0 değerli hücreleri gizlemek için ise aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub KOD()
For a = 5 To 250
    If Cells(a, "A") = "" Or Cells(a, "A") = 0 Then
        Rows(a).Hidden = True
    Else
        Rows(a).Hidden = False
    End If
Next
End Sub
 
Hocam 2. verdiğiniz kod Uzun süre bekletiyor. Buna benzer farklı kod var zaten ama 46sn gibi bekletiyor:
Kod:
    For Each t In Range("A5:A250")
    If t.Value = "0" Then 'boş hücreleri GÖSTERİR
    t.EntireRow.Hidden = False
    End If
    Next t
    
    For Each t In Range("A5:A250")
    If t.Value = "" Then  'boş hücreleri gizler
    t.EntireRow.Hidden = False
    End If
    Next t
Bu kod çok beklettiğinden seç ve gizle yöntemini yapmaya çalışıyorum
Bu boş sayfaları seçen ([A5:A250].SpecialCells(xlCellTypeBlanks).EntireRow.Select) kod yerine 0 olan satırları bulan kodu yazabilirmiyiz?
Son güzel çalışan kod:
Kod:
Sub xx()
[A5:A250].SpecialCells(xlCellTypeBlanks).EntireRow.Select
Selection.EntireRow.Hidden = True
End Sub
 
Yukarıdaki kodlara kırmızı renkli ilaveleri yaparak kodun hızlı çalışmasını sağlayabilirsiniz.
Kod:
Sub KOD()
[COLOR="Red"]Application.ScreenUpdating = False[/COLOR]
Rows("5:250").Hidden = False
For a = 5 To 250
    If Cells(a, "A") = "" Or Cells(a, "A") = 0 Then
        Rows(a).Hidden = True
    End If
Next
[COLOR="red"]Application.ScreenUpdating = True[/COLOR]
End Sub
 
Hocam 29sn yeye kadar düştü ama halaa uzun. Ben yine şuna takıldım. A5 den A250 aralığındaki 0 olan satırları nasıl seçebiliriz.
Kod:
Sub xx()
[A5:A250].SpecialCells(xlCellTypeBlanks).EntireRow.Select
Selection.EntireRow.Hidden = True
End Sub
Bu kod tam istediğim gibi çalışıyor. Aynı kpdla sıfır değerli hücreleri seçtirebilirmiyiz?
 
Deneyin.

Kod:
Sub Satir_Gizle()
    Dim Zaman As Double, Veri As Range, Alan As Range
    
    Zaman = Timer
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Range("A5:A250").EntireRow.Hidden = False
    
    For Each Veri In Range("A5:A250")
        If Veri.Value = 0 Or Veri.Value = "" Then
            If Alan Is Nothing Then
                Set Alan = Veri
            Else
                Set Alan = Union(Alan, Veri)
            End If
        End If
    Next
    
    If Not Alan Is Nothing Then Alan.EntireRow.Hidden = True
    
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
End Sub
 
1,06sn :) Allah razı olsun.
 
Geri
Üst