• DİKKAT

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

Satır gizleme

Katılım
3 Temmuz 2005
Mesajlar
306
Excel Vers. ve Dili
excel 2021 tr
Merhaba,
Aşağıdaki kodlar 500 satırda çok yavaş, daha hızlı çalışabilecek kod örneği yazarsanız sevinirim.

Kod:
Sub Gizle2()
For Each t In Range("B3:B502").Cells
If t.Value = "" Then
t.EntireRow.Hidden = True
End If
Next t
End Sub
 
Merhaba;

Sayfanın kod bölümüne yazarak;

Sub gizle()
Dim sat As Long, i As Long
Application.ScreenUpdating = False
For i = 3 To 502
If Cells(i, "b").Value = "" Then
Rows(i).Hidden = True
End If
Next i
End Sub

Deneyin.
İyi çalışmalar.
 
Maalesef hızlı çalışmadı, yaklaşık 30 saniye sürüyor.

Şöyle bir şey yapılamaz mı.. B sütununda en son dolu hücrenin bir altındaki boş hücre bulunur, bu hücreden B502'ye kadar olan satırlar gizlenir. Bunun için nasıl bir kod yazılabilir.
 
Merhaba
Şöylede deneyebilirsiniz
Kod:
Sub gizle()
Application.Calculation = xlCalculationManual
Range("B1:B" & Range("B65536").End(3).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Application.Calculation = xlCalculationAutomatic
End sub
 
B3'ten başlaması lazım ama hata veriyor, hiçbir hücre bulunamadı diyor.
 
kodların hızlı çalışması için

Application.ScreenUpdating = False

kodları buraya yazın

Application.ScreenUpdating = True
 
B3'ten başlaması lazım ama hata veriyor, hiçbir hücre bulunamadı diyor.
Sanırım "b" sütununda formül var
Şöyle denermisiniz?
Kod:
Sub gizle()
Dim sat As Long, i As Long
[COLOR="Red"]Application.Calculation = xlCalculationManual[/COLOR]
Application.ScreenUpdating = False
For i = [COLOR="Red"]502 [/COLOR]To 3 Step -1
If Cells(i, "b").Value = "" Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
[COLOR="Red"]Application.Calculation = xlCalculationAutomatic[/COLOR] 
end sub
 
Son düzenleme:
böyle olması gerekir

Sub gizle()
Application.ScreenUpdating = False
Dim sat As Long, i As Long
Application.Calculation = xlCalculationManual
For i = Range("B65536").End(3).Row To 3 Step -1
If Cells(i, "b").Value = "" Then
Rows(i).Hidden = True
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
end sub
 
"b" sütunu zaten boşmuş galiba biçimleri gizlemek istemişsiniz ek dosyayı inceleyiniz.
http://s3.dosya.tc/server7/b0fkbs/fatura.zip.html

İlk eklediğim sizin dosyaya göre:
Kod:
 Sub gizle()
Application.Calculation = xlCalculationManual
Range("B3:[COLOR="Red"]B502"[/COLOR]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Application.Calculation = xlCalculationAutomatic
End Sub

Döngüyle olanı önceki mesajımda; değişti
 
"b" sütunu zaten boşmuş galiba biçimleri gizlemek istemişsiniz ek dosyayı inceleyiniz.
http://s3.dosya.tc/server7/b0fkbs/fatura.zip.html

İlk eklediğim sizin dosyaya göre:
Kod:
 Sub gizle()
Application.Calculation = xlCalculationManual
Range("B3:[COLOR="Red"]B502"[/COLOR]).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Application.Calculation = xlCalculationAutomatic
End Sub

Döngüyle olanı önceki mesajımda; değişti

Çok teşekkürler, kod hızlı çalışıyor..

halil beye de teşekkürler
 
Geri
Üst