Excelde İsteĞİm Satirlari Nasil Gİzleyebİlİr Ve AÇabİlİrm ?

Katılım
22 Aralık 2006
Mesajlar
125
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
28.04.2019
Selamlar,

Aşağıdaki kodu denermisiniz. B1 hücresindeki değeri sildiğinizde tüm satırlar görünür.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Application.Intersect(Target, [B1]) Is Nothing Then Exit Sub
    If Target = "" Then Cells.EntireRow.Hidden = False: Exit Sub
    Set BUL = [A:A].Find(Target, LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    Cells.EntireRow.Hidden = False
    Rows(BUL.Row & ":" & BUL.Row + 1).Hidden = True
    End If
    Application.ScreenUpdating = True
End Sub

Sayın COST_CONTROL, verdiginiz kodu girdim ama yinede satırların gizlenmesi çalışmıyor, sizin verdiginiz kodlarla kaydedilmiş hali EK'te siz bir kontrol edebilirseniz mumkunse?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklediğiniz dosyayı makroları etkinleştirerek açıp B1 hücresine "0001" yazıp denedim ve sonuç olumlu. Yani önerdiğim kod gayet güzel çalışıyor. Siz denediğinizde hata mesajımı alıyorsunuz?
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Aklıma bu çözüm yolu geldi. Belki bundan yola çıkarak(esinlenerek) pratik bir yöntemde bulunabilir diye düşünüyorum. Yapacağınız şey bunu kendi çalışmanıza uyarlamak. InputBox'a satırı ifade eden(örnek olsun diye, 1 ile 30 arasında yaptım, bunu istediğiniz kadar çoğaltabilirsiniz) bir değer girip gizle/göster işlemini gerçekleştirebilirsiniz. İlgili kodlarımız aşağıdaki gibidir.
Kod:
Sub Gizle()
On Error GoTo hata
s = InputBox("Gizlemek İçin Satır No. Giriniz")
[a:a].Find(s).Rows.Hidden = 1
hata:
End Sub

Sub Göster()
On Error GoTo hata
s = InputBox("Göstermek İçin Satır No. Giriniz")
[a:a].Find(s).Rows.Hidden = 0
hata:
End Sub
 
Katılım
22 Aralık 2006
Mesajlar
125
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
28.04.2019
Sayın Cost Control ve Seyit Tiken,

son gondermis oldugunuz ornekler hep gızleme uzerıne calısıyor, mesela Cost Control un gonderdıgınde 0001 dedıgımiz de onu gızleyıp dıgerlerını gosterıyor, halbukı 0001 ı gosterıp dıgerlerını gızlemelı.

Aslında Seyıt Bey'ın ılk verdıgı ornekte olmustu istenen, sadece o sıstemın calıstıgı satır aralıgını uzatmak gerekıyordu,

ilginize cok tesekur edıyorum , mumkunse bu tarz bır duzenleme daha istirham etsem :(
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.
 
Katılım
22 Aralık 2006
Mesajlar
125
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
28.04.2019
Çok Çok Teşekurler , mukemmel oldu, beyinlerinize ellerinize sağlık, iyi çalışmalar dilerim.
 
Katılım
22 Aralık 2006
Mesajlar
125
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
28.04.2019
Çok Çok Teşekurler , mukemmel oldu, beyinlerinize ellerinize sağlık, iyi çalışmalar dilerim.
 
Katılım
22 Aralık 2006
Mesajlar
125
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
28.04.2019
Selamlar,

Aşağıdaki kodu denermisiniz. B1 hücresindeki değeri sildiğinizde tüm satırlar görünür.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Application.Intersect(Target, [B1]) Is Nothing Then Exit Sub
    If Target = "" Then Cells.EntireRow.Hidden = False: Exit Sub
    Set BUL = [A:A].Find(Target, LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    Cells.EntireRow.Hidden = False
    If BUL.Row < 7 Then
    Rows(BUL.Row & ":" & BUL.Row + 1).Hidden = False
    Rows(BUL.Row + 2 & ":" & 65536).Hidden = True
    ElseIf BUL.Row > 6 Then
    Rows(5 & ":" & BUL.Row - 1).Hidden = True
    Rows(BUL.Row & ":" & BUL.Row + 1).Hidden = False
    Rows(BUL.Row + 2 & ":" & 65536).Hidden = True
    End If: End If
    Application.ScreenUpdating = True
End Sub

Sayın COST_CONTROL, bu yazdıgınız kodlar gayet başarılı şekilde çalışmaya devam ediyor, biliyorsunuz burada satırları ikişerli şekilde gizleyip gösteriyorduk. Yanına yeni açtığım bir sayfada aynı işlemi ancak tekerli satırlar için yapmak istesem kodlarda nasıl bir oynama yapmam gerekli?
 

karaelmas4467

Altın Üye
Katılım
23 Aralık 2006
Mesajlar
202
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
31-07-2027
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Umarım faydası olur.
peki; hücreye tarih girilse ve o tarih bugünden geçmiş bir tari olduğunda o satırın gizlenmesini nasıl sağlayabiliriz. kodları inceledim: bitti yerine "<bugün()" yazdım ama olmadı..
 
Katılım
16 Temmuz 2009
Mesajlar
1
Excel Vers. ve Dili
microsoft 2003
Ben tek bir satırı gizlemek istiyorum aynı zamanda yazdırmak istiyorum
 
Üst