• DİKKAT

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

Şartlı kolon gizli-görünür yapmak

Katılım
22 Nisan 2009
Mesajlar
84
Excel Vers. ve Dili
2013 Tr
Arkadaşlar, veri girişi yaptığım bir tablo var.Soldan sağa doğru girişde hız kazanmak için bir ihtyacım var.


B ve C kolonları hep gözükecek. D-G gizli olacak.


B kolonuna veri girince D-E görünür olacak.
D kolonuna veri girince F-G görünür olacak.
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodu dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("B:C").EntireColumn.Hidden = False
Columns("D:G").EntireColumn.Hidden = True
    If Not Intersect(Target, Range("B2:B100")) Is Nothing Then Exit Sub
    Columns("D:E").EntireColumn.Hidden = False
        Else
        If Not Intersect(Target, Range("D2:D100")) Is Nothing Then
        Columns("F:G").EntireColumn.Hidden = False
        End If
    End If
End Sub
 
Son düzenleme:
Dosyanız ektedir.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:B65536,D2:D65536]) Is Nothing Then Exit Sub
Range("D:G").EntireColumn.Hidden = True
If Target.Column = 2 Then
    Range("D:E").EntireColumn.Hidden = False
    ElseIf 4 Then
    Range("F:G").EntireColumn.Hidden = False
End If
End Sub
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodu dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("B:C").EntireColumn.Hidden = False
Columns("D:G").EntireColumn.Hidden = True
    If Not Intersect(Target, Range("B2:B100")) Is Nothing Then Exit Sub
    Columns("D:E").EntireColumn.Hidden = False
        Else
        If Not Intersect(Target, Range("D2:D100")) Is Nothing Then
        Columns("F:G").EntireColumn.Hidden = False
        End If
    End If
End Sub

"Else without if " hatası veriyor.


Dosyanız ektedir.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:C65536]) Is Nothing Then Exit Sub
Range("D:G").EntireColumn.Hidden = True
Range(Cells(1, Target.Offset(0, 3).Column), _
Cells(65536, Target.Offset(0, 4).Column)).EntireColumn.Hidden = False
End Sub

B sutununa veri girince sadece D ve G sutunlarını gizliyor.
C sutununa veri girince E sutununu gizleyip, G yi görünür yapıyor.
Verileri silince D ve G sutunları gizli kalıyor.


İsteğim 1. duruş bilgileri girince , 2. duruş sutunları aktif olsun. 2. duruşlarıda girersem , 3. duruş sutunları aktif olsun. Tabi en başta sadece 1. duruş sutunları güzükecek(B ve C kolonları hep gözükecek. D-G gizli olacak.)

Şimdiden teşekkürler.
 
"Else without if " hatası veriyor.




B sutununa veri girince sadece D ve G sutunlarını gizliyor.
C sutununa veri girince E sutununu gizleyip, G yi görünür yapıyor.
Verileri silince D ve G sutunları gizli kalıyor.


İsteğim 1. duruş bilgileri girince , 2. duruş sutunları aktif olsun. 2. duruşlarıda girersem , 3. duruş sutunları aktif olsun. Tabi en başta sadece 1. duruş sutunları güzükecek(B ve C kolonları hep gözükecek. D-G gizli olacak.)

Şimdiden teşekkürler.

Evet hatalıymış.
Dosyayı düzelttim.
3 numaralı mesajdan indirebilirsiniz.:cool:
 
Evren Bey,

Şuan D-G sutunlarını ben manuel gizliyorum ve B ye veri girince D-E görünür oluyor. Bu tamam.

Fakat C sutununa veri girince F-G yi görünür yapıyor. Ben F-G nin gürünür olma şartı için D sutununa veri girilmesini istiyordum.

Birde hücrelerden verileri silince B-E arası görünür kalıyor? Bu neden?


Kod:
If Intersect(Target, [B2:C65536]) Is Nothing Then Exit Sub

Bu koda birşey mi eklemem gerekiyor?
 
Evren Bey,

Şuan D-G sutunlarını ben manuel gizliyorum ve B ye veri girince D-E görünür oluyor. Bu tamam.

Fakat C sutununa veri girince F-G yi görünür yapıyor. Ben F-G nin gürünür olma şartı için D sutununa veri girilmesini istiyordum.

Birde hücrelerden verileri silince B-E arası görünür kalıyor? Bu neden?


Kod:
If Intersect(Target, [B2:C65536]) Is Nothing Then Exit Sub

Bu koda birşey mi eklemem gerekiyor?
Dosyayı 3 numaralı mesajdan indirebilirsiniz.:cool:
 
Dosyayı 3 numaralı mesajdan indirebilirsiniz.:cool:


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:B65536,D2:D65536]) Is Nothing Then Exit Sub
Range("D:G").EntireColumn.Hidden = True
If Target.Column = 2 Then
    Range("D:E").EntireColumn.Hidden = False
    ElseIf 4 Then
    Range("[COLOR="Red"]D:G[/COLOR]").EntireColumn.Hidden = False
End If
End Sub


İstediğim yukarıdaki değişiklikle oldu.Fakat;


Hücreleri sildiğimde D-E görünür kalıyor; D-G nin gizlenmesi için ne yapabilirim?
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    
    If Intersect(Target, Range("B2:B65536,D2:D65536")) Is Nothing Then Exit Sub
    Range("D:G").EntireColumn.Hidden = True
    
    If Target.Column = 2 And Target.Value <> "" Then
        Range("D:E").EntireColumn.Hidden = False
    ElseIf Target.Column = 2 And Target.Value = "" Then
        Range("D:G").EntireColumn.Hidden = True
    ElseIf Target.Column = 4 And Target.Value <> "" Then
        Range("D:G").EntireColumn.Hidden = False
    ElseIf Target.Column = 4 And Target.Value = "" Then
        Range("D:E").EntireColumn.Hidden = False
        Range("F:G").EntireColumn.Hidden = True
    End If
Son:
End Sub
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    
    If Intersect(Target, Range("B2:B65536,D2:D65536")) Is Nothing Then Exit Sub
    Range("D:G").EntireColumn.Hidden = True
    
    If Target.Column = 2 And Target.Value <> "" Then
        Range("D:E").EntireColumn.Hidden = False
    ElseIf Target.Column = 2 And Target.Value = "" Then
        Range("D:G").EntireColumn.Hidden = True
    ElseIf Target.Column = 4 And Target.Value <> "" Then
        Range("D:G").EntireColumn.Hidden = False
    ElseIf Target.Column = 4 And Target.Value = "" Then
        Range("D:E").EntireColumn.Hidden = False
        Range("F:G").EntireColumn.Hidden = True
    End If
Son:
End Sub


Ellerinize sağlık. Tam istediğim gibi oldu.
 
Geri
Üst