• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan hvkvn
  • Başlangıç tarihi Başlangıç tarihi
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...
 
Merhaba,

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

.
 
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
 
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 ?
 
Necdet bey vermiş olduğunuz kodun kullanımına ilişkin bir örnek ekleyebilirseniz sevinirim.
 
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???
 
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

Ç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.
 
Merhaba,

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

.
 
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

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

.
 
Ö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.
 
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.
 
Selamlar,

Sn. saintde,

Dosyanızı temsil eden küçük bir örnek dosya eklerseniz çözüme ulaşmak daha kolay olacaktır.
 
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.
 
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
.
 
Ö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
 
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ı?
 
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.
 
işlemi ve işlevi biten bilgilerin gizlenmesi

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