Hücre değerine bağlı satır gizleme/gösterme

Katılım
16 Şubat 2010
Mesajlar
26
Excel Vers. ve Dili
2003 TR
evet arkadaşlar başlıktada belirttiğim gibi belirli bir hücre değerine bağlı olarak istenen satırları gizleme yada göstermek. yani a1 hücresinin değeri 1 ise a10 ile a15 satırlarını gizlenecek, a1 hücresinin değeri 2 ise bu satırlar görünecek. yardımlarınızı bekliyorum...
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Gizleme butonlamı olacak otomatik mi? A1 hücresine ellemi değer gireceksiniz formül sonucumu değişecek?

.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,493
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
If [A1] = 1 Then
    Rows("10:15").EntireRow.Hidden = True
ElseIf [A1] = 2 Then
    Rows("10:15").EntireRow.Hidden = False
Else
    MsgBox "A1'in değeri ne 1, ne de 2. Bu yüzden hiç bir şey yapmıyorum"
End If
End Sub
 
Katılım
16 Şubat 2010
Mesajlar
26
Excel Vers. ve Dili
2003 TR
teşekkür ederim necdet vermiş olduğun kodlar sorunsuz çalıştı, ömer arkadaşımın ilgisinede teşekkür, a1 hücresinin değeri formül sonucu olacak, bu arada birde şunu soracam a1 hücre değeri başka sayfada olacak bunu nasıl yaparım ?
 
Katılım
22 Temmuz 2008
Mesajlar
6
Excel Vers. ve Dili
2003
Necdet bey vermiş olduğunuz kodun kullanımına ilişkin bir örnek ekleyebilirseniz sevinirim.
 
Katılım
16 Şubat 2010
Mesajlar
26
Excel Vers. ve Dili
2003 TR
necdet bey vermiş olduğunuz kodları denedim çalışıyor ama sadece a1 hücresine el ile veri girdiğimde çalışıyor oysa ben a1 hücresinde formül sonucu kullanmam gerekiyor o zamanda sizin vermiş olduğunuz kodlar çalışmıyor yardımınızı bekliyorum???
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sorularınızla ilgili tüm detayları ilk mesajınıza yazmaya özen gösteriniz.

Sayfa1; gizlencek satırların olduğu sayfa,
Sayfa2; A1 ölçütünün olduğu sayfa,

Kodları Sayfa2 nin kod sayfasına kopyalayın.

Kod:
Private Sub Worksheet_Calculate()
Set S1 = Sheets("Sayfa1")
If [A1] = 1 Then
    S1.Rows("10:15").EntireRow.Hidden = True
ElseIf [A1] = 2 Then
    S1.Rows("10:15").EntireRow.Hidden = False
Else
    MsgBox "A1'in değeri ne 1, ne de 2. Bu yüzden hiç bir şey yapmıyorum"
End If
End Sub
Ekte küçük bir örnek ekledim.

.
 

Ekli dosyalar

Katılım
8 Mayıs 2010
Mesajlar
31
Excel Vers. ve Dili
2007
Çok işe yarayan bir kodlama olmuş ancak sayfa2 deki A1 değerine sayfa1 deki C1 değeri getirdiğimizde çalışıyor. Ben sayfa2 deki A1 değerine =BAĞ_DEĞ_SAY(B:B) formülünü kullanarak veya MAK(B:B) kullanarak bir değer yazdırdığımda hata veriyor. yani doğrudan sayfa2 A1 e herhangi bir hücreyi aktarmada sorun yok ama bunu formül ile yaptığımızda hata alıyoruz.

Hatada şu : Method 'Hidden' of object 'Range' failed

Bunun bir çaresini bulabilirseniz sevinirim.

Saygılar.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sorunuzu anlayamadım. Küçük bir örnek ekleyerek açıklayınız..

.
 
Katılım
8 Mayıs 2010
Mesajlar
31
Excel Vers. ve Dili
2007
Merhaba,

Sorunuzu anlayamadım. Küçük bir örnek ekleyerek açıklayınız..

.

örnekte daha iyi anlaşılır umarım.

B sütunundaki sayılar örnekte elle girilmiş ancak onlarda C sütunundan başlayan bir tablodaki değerleri kıyaslayarak oluşan rakamlar olacaktır. Benim sıkıntım B sütunundaki sayılar 2 olana kadar çalışıyor ancak 1 yada 2 olunca hata veriyor. ilginiz için teşekkür ederim.

Saygılar.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Ben herhangi bir hata almadım. Siz nasıl olmasını istiyorsanız sorunuzu ona göre detaylı açıklayınız..

Döngüye girmemesi için ve 0 değeri için yeniden düzenledim..

Kod:
Private Sub Worksheet_Calculate()
[COLOR=blue]Application.EnableEvents = False[/COLOR]
If [A1] = 1 Then
    Rows("10:15").EntireRow.Hidden = True
ElseIf [A1] = 2[COLOR=blue] Or [A1] = 0[/COLOR] Then
    Rows("10:15").EntireRow.Hidden = False
Else
    MsgBox "A1'in değeri ne 1, ne de 2. Bu yüzden hiç bir şey yapmıyorum"
End If
[COLOR=blue]Application.EnableEvents = True
[/COLOR]End Sub
.
 
Katılım
8 Mayıs 2010
Mesajlar
31
Excel Vers. ve Dili
2007
Ömer bey yardımlarınız için teşekkür ederim. Ben şantiyede yapılan işleri farklı 4 excell dosyasından tek bir dosyaya aylık olarak aktarıyorum ancak her ay aynı sayıda yol yapılmadığı için kimi aylar 2 yol kimi aylar ise 20 yoldan fazla olduğu için bu yolların boş satırlarını gizletmek istiyordum. Sayenizde hallettim :) teşekkür ederim.

Saygılar.
 
Katılım
24 Mayıs 2010
Mesajlar
1
Excel Vers. ve Dili
excel 2007,türkçe
Bu mantıkla kurmaya çalıştığım bir dosyada benim isteğim, herhangi bir değer yazıldığında göstersin.hücre boş ise gizlesin.Verdiğiniz örnekten açıklarsam, Sayfa 2'deki A1 hücresi boş ise Sayfa 1'deki A10-A20 arası gizli olsun.Sayfa 2'deki A1 hücresine 3 de yazsam 5 de yazsam Sayfa 1'deki A10-A20 arası görünsün.
Bununla bağlantılı olarak, gizlemek istediğim hücreler üstüne resimler denk geliyor.hücreler gizlenirken resimlerde gizlenirse hiçbir sorunum kalmayacak.
Şimdiden teşekkür ederim.
 

Korhan Ayhan

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

Sn. saintde,

Dosyanızı temsil eden küçük bir örnek dosya eklerseniz çözüme ulaşmak daha kolay olacaktır.
 
Katılım
8 Ekim 2011
Mesajlar
2
Excel Vers. ve Dili
Excell 2010 türkçe
Birden fazla satır gizlemek

benim şöyle bir sıkıntım var.

örneğin A1 HÜCRESİNE "1" RAKAMINI VERDİĞİMDE SADECE 2. SATIR, "2" RAKAMINI VERDİĞİMDE 2 VE 3. SATIR,"3" RAKAMINI VERDİĞİMDE 2,3 VE 4. SATIR GİZLENECEK. BUNU EXCELLDE YAPABİLMEK MÜMKÜNMÜ? MÜMKÜNSE KODUNU BANA YOLLARSANIZ MİNNETTAR KALIRIM.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Çalışma sayfasının kod bölümüne kopyalayınız.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [A1]) Is Nothing Then Exit Sub
 
    If [A1] < 1 Or [A1] > Rows.Count - 1 Then
        MsgBox "A1 hücresine girilen değer hatalı."
        Exit Sub
    End If
 
    Application.ScreenUpdating = False
 
    Cells.EntireRow.Hidden = False
    Rows("2:" & Round([A1], 0) + 1).EntireRow.Hidden = True
 
    Application.ScreenUpdating = True
 
End Sub
.
 
Katılım
8 Ekim 2011
Mesajlar
2
Excel Vers. ve Dili
Excell 2010 türkçe
Ömer bey ilginize teşekkürler yeni gördüm mesajınızı. Bunuyapınca A1 hücresine kaç rakamını girersem o kadar hane gizliyor. Oysa ben mesela a1 hücresine 8 dediğimde a2,a3,a4,a5,a6,a7,a8,a9 7 dediğimde a3,a4,a5,a6,a7,a8,a9 ..... 2 dediğimde a9,a8 ve bir dediğimde a1 için sadece a9 gözüksün istiyorum
 
Katılım
31 Aralık 2013
Mesajlar
1
Excel Vers. ve Dili
2007 tr
peki buna ek bir sorum olacak:
özetle:
elimizde bir fiyat listesi var ancak kullanılmayan malzemelerin teklifte görünmesini istemiyoruz, yani adet sütunu 0 (sıfır) olan bir satırı, çıktı almadan önce gizleyebilecek bir kod var mı?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,493
Excel Vers. ve Dili
Ofis 365 Türkçe
peki buna ek bir sorum olacak:
özetle:
elimizde bir fiyat listesi var ancak kullanılmayan malzemelerin teklifte görünmesini istemiyoruz, yani adet sütunu 0 (sıfır) olan bir satırı, çıktı almadan önce gizleyebilecek bir kod var mı?
Merhaba,

Kod:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
....
....
....
End Sub
Workbook'ta yazdırmadan önce ilgili sayfayı kontrol edip, o sayfa ise ve sizin dediğiniz şartı sağlayan satırları gizleyebilirsiniz.

Kodlar hemen hemen bundan önceki kodlar gibidir.
Bir deneyin.
 
Katılım
24 Ekim 2014
Mesajlar
2
Excel Vers. ve Dili
2010 ingilizce
işlemi ve işlevi biten bilgilerin gizlenmesi

özür dilerim yanlış yere başlık açaya çalıştım :)
 
Son düzenleme:
Üst