Hücre değerine göre satır gizle/göster

Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
Sub gizle()
If Range("E25") > 0 Then
Range("A26:F27").EntireRow.Hidden = False
Range("A28:F37").EntireRow.Hidden = True
ElseIf Range("E25") < 0 Then
Range("A26:F27").EntireRow.Hidden = True
Range("A28:F37").EntireRow.Hidden = False
ElseIf Range("E25") = 0 Then
Range("A26:F37").EntireRow.Hidden = False
End If
End Sub

Bu kod makrolar=>çalıştır dediğimde istediğim gibi çalışıyor FAKAT benim istediğim E25 Hücresine değer yazdığmda istediğim satırların hemen gizlenip gösterilmesi. Buton yada düğme eklemeden..
 

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

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$E$25" <> Empty Then
     Range("A26:F27").EntireRow.Hidden = False
     Range("A28:F37").EntireRow.Hidden = True
  End If
End Sub
İstediğiniz bu mu?

.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
e25 + bi değer yazdığımda satırları gizledi fakat - değer yazdığımda gizli satırlar açılmadı.
burada 3 koşul var. 0 dan büyük olduğunda küçük olduğunda ve 0eşit olduğunda
 
Son düzenleme:

Ö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
İlgili sayfanın kod bölümüne kopyalayarak denermisiniz..

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E25") > 0 Then
Range("A26:F27").EntireRow.Hidden = False
Range("A28:F37").EntireRow.Hidden = True
ElseIf Range("E25") < 0 Then
Range("A26:F27").EntireRow.Hidden = True
Range("A28:F37").EntireRow.Hidden = False
ElseIf Range("E25") = 0 Then
Range("A26:F37").EntireRow.Hidden = False
End If
End Sub
.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
4 mesajda yazılan kodu aynı sayfada başka bir hücreye uyguladığımda çalıştıramadım. Yani e25 için olan kod ayrıyetten k68 hücresi içinde olmasını istiyorum.iki kodun arasıne ne yazmam gerekir. 4 mesazdeki kod artı aşağıdaki kod....
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("K68") > 0 Then
Range("A69:Q70").EntireRow.Hidden = False
Range("A71:Q81").EntireRow.Hidden = True
ElseIf Range("K68") < 0 Then
Range("A69:Q70").EntireRow.Hidden = True
Range("A71:Q81").EntireRow.Hidden = False
ElseIf Range("K68") = 0 Then
Range("A69:Q81").EntireRow.Hidden = False
End If
End Sub
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
aynı sayfaya 4 mesajda yazılan koddan birden fazla kod yazılması için araya nasıl yazmam gerekir.
4 mesaj + aşağudaki kod...
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("K68") > 0 Then
Range("A69:Q70").EntireRow.Hidden = False
Range("A71:Q81").EntireRow.Hidden = True
ElseIf Range("K68") < 0 Then
Range("A69:Q70").EntireRow.Hidden = True
Range("A71:Q81").EntireRow.Hidden = False
ElseIf Range("K68") = 0 Then
Range("A69:Q81").EntireRow.Hidden = False
End If
End Sub
 
Son düzenleme:

Ö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
Bu şekilde deneyin..

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E25:K68]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
If Target.Address = "$E$25" Then
    If Target > 0 Then
        Range("A26:F27").EntireRow.Hidden = False
        Range("A28:F37").EntireRow.Hidden = True
    ElseIf Target < 0 Then
        Range("A26:F27").EntireRow.Hidden = True
        Range("A28:F37").EntireRow.Hidden = False
    ElseIf Target = 0 Then
        Range("A26:F37").EntireRow.Hidden = False
    End If
End If
If Target.Address = "$K$68" Then
    If Target > 0 Then
        Range("A69:Q70").EntireRow.Hidden = False
        Range("A71:Q81").EntireRow.Hidden = True
    ElseIf Target < 0 Then
        Range("A69:Q70").EntireRow.Hidden = True
        Range("A71:Q81").EntireRow.Hidden = False
    ElseIf Target = 0 Then
        Range("A69:Q81").EntireRow.Hidden = False
    End If
End If
End Sub
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
Ömer bey verdiğiniz kodu denedim.yine bir hata verdi.Örnek belgemi ekliyorum. Değerin alıncağı hücrler kırmızı ile boyadım.Kod sayfa ekinde kopyalı.bakabilirmisiniz.
 

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
Nasıl bir hata verdi ?

Hücreler formüllemi değişiyor yoksa manuel değer girerek mi? Bu konudan bahsetmemiştiniz. Açıklamalarınızı eksiksiz yaparsanız sevirinim..

.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
formülle değişiyor veya manuel girmenin sonucu değitireceğini düşünmemiştim kusura bakmayın. birincide formül ile 2 sinde ise manuel giriyorum.Ama ikincisinide =ile başka bir hücreye manuel girip oradan aldırabiliriz.
 

Ö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
Bu şekilde deneyin..

Kod:
Private Sub Worksheet_Calculate()
 Application.EnableEvents = False
If [R10] > -70 Then
    Range("A13:Q20").EntireRow.Hidden = True
ElseIf [R10] < -70 Then
    Range("A13:Q20").EntireRow.Hidden = False
ElseIf [R10] = -70 Then
    Range("A13:Q20").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K73]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
    If Target > 0 Then
        Range("A74:Q75").EntireRow.Hidden = False
        Range("A76:Q86").EntireRow.Hidden = True
    ElseIf Target < 0 Then
        Range("A74:Q75").EntireRow.Hidden = True
        Range("A76:Q86").EntireRow.Hidden = False
    ElseIf Target = 0 Then
        Range("A74:Q85").EntireRow.Hidden = False
    End If
End Sub
.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
ilginiz için teşekkürler ömer bey.Birinci hücre R10 hesaplama yapmadan önce diğer sayfalardan veri olmakta. diğer sayfada değişiklik yaptığımda aşağıdaki resimde ki hataları veriyor. düzelebilirmi bu hatalar.
 

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
Hata aldığınız dosyayı ekleyerek hangi işlemlerde hata aldığınızı dosya üzerinde açıklarmısınız..

.
 

Ö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
FDK sayfasındaki birinci kodu aşağıdakiyle değiştirerek denermisiniz..

Kod:
Private Sub Worksheet_Calculate()
[COLOR=red]On Error Resume Next[/COLOR]
 Application.EnableEvents = False
If [R10] > -0.7 Then
   Range("A13:Q20").EntireRow.Hidden = True
ElseIf [R10] < -0.7 Then
    Range("A13:Q20").EntireRow.Hidden = False
ElseIf s1.[R10] = -0.7 Then
    Range("A13:Q20").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End Sub
.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
Ömer bey ilginiz ve yardımlarınız için teşekkür ederim. bu kod sorunumu çözdü. soruları neden tek tek soruyorsunuz diye kızacaksınız fakat Ben adım adım bir hesaplama tablosu oluşturdum. İkinci kodda manuel yazılan K73 hücresi nin değerinin manuel yazmadan formül ile Q5 hücrsine eşitlediğimde işimi kolaylaştırdığını farketim.İkinci koduda manuel yazacak şekilde değilde förmülle çalışacak şekilde düzenleyebilirmiyiz.
 

Ö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
Bu şekilde denermisiniz..

Kod:
Private Sub Worksheet_Calculate()
On Error Resume Next
Application.EnableEvents = False
    If [K73] > 0 Then
        Range("A74:Q75").EntireRow.Hidden = False
        Range("A76:Q86").EntireRow.Hidden = True
    ElseIf [K73] < 0 Then
        Range("A74:Q75").EntireRow.Hidden = True
        Range("A76:Q86").EntireRow.Hidden = False
    ElseIf [K73] = 0 Then
        Range("A74:Q85").EntireRow.Hidden = False
    End If
Application.EnableEvents = True
End Sub
.
 
Katılım
7 Şubat 2008
Mesajlar
206
Excel Vers. ve Dili
izin programı
bir sayfada iki kod olacak.bir son söylediğiniz 18 mesajdaki kod birde
Private Sub Worksheet_Calculate()
On Error Resume Next
Application.EnableEvents = False
If [R10] > -0.7 Then
Range("A13:Q20").EntireRow.Hidden = True
ElseIf [R10] < -0.7 Then
Range("A13:Q20").EntireRow.Hidden = False
ElseIf s1.[R10] = -0.7 Then
Range("A13:Q20").EntireRow.Hidden = False
End If
Application.EnableEvents = True
End Sub
bu iki kodu aynı sayfaya nasılı yazacağım.
 

Ö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
Bu şekilde deneyiniz..

Kod:
Private Sub Worksheet_Calculate()
On Error Resume Next
Application.EnableEvents = False
If [R10] > -0.7 Then
   Range("A13:Q20").EntireRow.Hidden = True
ElseIf [R10] < -0.7 Then
    Range("A13:Q20").EntireRow.Hidden = False
ElseIf s1.[R10] = -0.7 Then
    Range("A13:Q20").EntireRow.Hidden = False
End If
    If [K73] > 0 Then
        Range("A74:Q75").EntireRow.Hidden = False
        Range("A76:Q86").EntireRow.Hidden = True
    ElseIf [K73] < 0 Then
        Range("A74:Q75").EntireRow.Hidden = True
        Range("A76:Q86").EntireRow.Hidden = False
    ElseIf [K73] = 0 Then
        Range("A74:Q85").EntireRow.Hidden = False
    End If
Application.EnableEvents = True
End Sub
.
 
Üst