• DİKKAT

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

Koşula Göre Sütun Gizleme

Bakigemlik

Altın Üye
Katılım
16 Ocak 2013
Mesajlar
674
Excel Vers. ve Dili
2010 Türkçe
Merhaba,

Ek dosyada gerekli açıklamaları yaptım konu hakkında desteğinizi rica ederim,

Saygılarımla,

Teşekkürler
 

Ekli dosyalar

İlgili sayfanın kod kısmına bu kodları yapıştırıp seçim yapınız.

Kod:
[FONT="Trebuchet MS"][SIZE="2"]Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Byte
    If Target.Address(0, 0) <> "[COLOR="Red"]A1[/COLOR]" Then Exit Sub
    Columns.Hidden = False
    For i = 2 To 13
        If Cells(6, i).Value <> Target.Value Then
            Columns(i).Hidden = True
        End If
    Next i
    i = Empty
End Sub[/SIZE][/FONT]
 
Murat Bey cevabınız için teşekkürler ben bunu toogle button ile yapmak istiyorum ilk tıklamada gizlensin 2 tıklamada tüm veriler açılsın

Ya da mümkünse veri doğrulamaya "Dönem" diye bir seçenek daha ekleyeyim dönemi seçtiğimde bütün yıl görünsün,

Teşekkürler
 
Son düzenleme:
Dönem verisini ekleyin.
Next i nin altına da bu satırı ilave edin..

Kod:
[FONT="Trebuchet MS"][SIZE="2"]If Target.Value = "Dönem" Then Columns.Hidden = False[/SIZE][/FONT]
 
Murat Bey Merhaba,

Aynı şeyi satırlar için "Liste Kutusu"'dan dönem seçerek nasıl yapabiliriz,

Liste kutusundan hangi ay ya da ayları seçersem o dönemler açık kalsın diğer satırlar gizlensin istiyorum,

Dönem Seçtiğimde de bütün satırlar açılmalı,

Desteğinizi rica ederim,

Saygılarımla,
 

Ekli dosyalar

Murat Bey Merhaba,

Aynı şeyi satırlar için "Liste Kutusu"'dan dönem seçerek nasıl yapabiliriz,

Liste kutusundan hangi ay ya da ayları seçersem o dönemler açık kalsın diğer satırlar gizlensin istiyorum,

Dönem Seçtiğimde de bütün satırlar açılmalı,

Desteğinizi rica ederim,

Saygılarımla,

Konu günceldir

Saygılarımla
 
Merhaba.

Bu kodu bir deneyin.

Kod:
Private Sub ToggleButton1_Click()
    Columns("B:M").EntireColumn.Hidden = False
End Sub
 
Merhaba.

Bu kodu bir deneyin.

Kod:
Private Sub ToggleButton1_Click()
    Columns("B:M").EntireColumn.Hidden = False
End Sub

Sayın Aslan Merhaba

Bu sanırım toogle button için ilk istediğim destek için bunu murat beyin yardımı ile çözdüm konu kalabalığı olmasın diye aynı konu üzerinden farklı bir yardım istedim liste kutusu seçimi şartına göre satır gizleme mümkünse bu konu hakkında desteğinizi rica ederim
 
Liste kutusu kullanmak zorunda mısınız?

Listbox kullanırsanız kodlama daha kolay olacaktır.
 
Korhan Bey birden fazla ay seçebilmek için liste kutusu düşünmüştüm listbox aynı olanağı sağlıyorsa olabilir

Teşekkürler
 
Korhan Bey desteğiniz ve emeğiniz için çok teşekkürler,

Listbox sorunsuz olarak çalışıyor fakat aşırı yavaş benim eklediğim dosyanın asıl hali 1189 satırdan oluşuyor muhtemelen yavaşlığın sebebi bunu hızlandırmanın bir yolu var mıdır,

Saygılarımla,
 
Bir de bu dosyayı deneyin.
 

Ekli dosyalar

Teşekkürler Korhan Bey

Şuan daha iyi çalışıyor ben sayfadaki formülleri koda gömmeyi düşünüyorum bu şekil daha hızlanabilir,

Bunun için aşağıdaki kodu kullanmak istiyorum ama Sayfa 2 deki kodu çalıştıramadım,

Aslında yapmak istediğim "Özmal Rapor Sorgu" sayfasına veri girildiğinde otomatik olarak "Özmal Raporu" sayfasındaki hücrelere değer gelsin,

Örnek olarak, "Özmal Sorgu" sayfasında E sütununa veri girdiğimde aşağıdaki formülle getirdiğim veriler kod ile gelsin, umarım anlatabilmişimdir,

Saygılarımla,

Kod:
=EĞERHATA(İNDİS('Özmal Rapor Sorgu'!$E:$E;KAÇINCI(BİRLEŞTİR($A6;$B6);'Özmal Rapor Sorgu'!$T:$T;0));"")

Kod:
Dim S1 As Worksheet
    Dim S2 As Worksheet
    
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With
    
    Set S1 = Sheets("Sorgu Km")
    Set S2 = Sheets("Özmal Raporu")
    
    
    Son = S1.Cells.Find("*", S1.Range("A1"), , , xlByRows, xlPrevious).Row
     
    Son = S2.Cells.Find("*", S2.Range("A1"), , , xlByRows, xlPrevious).Row
    
    With S1.Range("I56:I" & Son)
        .Formula = "=IFERROR(VLOOKUP(RC4,R2C12:R14C13,2,0),"""")"
        .Value = .Value
    End With
    
    With S1.Range("J56:J" & Son)
        .Formula = "=IFERROR(IF(AND(G56<>"""",G56>=100),""Uzun Mesafe"",IF(AND(G56<>"""",G56<100),""Kısa Mesafe"","""")),"""")"
        .Value = .Value
    End With
    
    With S2.Range("E6:E" & Son)
        .Formula = "=IF(RC2=""Ocak"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,2,0),IF(RC2=""Şubat"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,3,0),IF(RC2=""Mart"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,4,0),IF(RC2=""Nisan"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,5,0),IF(RC2=""Mayıs"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,6,0),IF(RC2=""Haziran"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,7,0),IF(RC2=""Temmuz"",VLOOKUP(RC1,'" & _
        "lama'!C1:C13,8,0),IF(RC2=""Ağustos"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,9,0),IF(RC2=""Eylül"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,10,0),IF(RC2=""Ekim"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,11,0),IF(RC2=""Kasım"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,12,0),IF(RC2=""Aralık"",VLOOKUP(RC1,'Km Hesaplama'!C1:C13,13,0),""""))))))))))))"
        .Value = .Value
    End With
    
    
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .DisplayAlerts = True
        .Calculation = xlCalculationAutomatic
    End With
    
    Set S1 = Nothing
    Set S2 = Nothing
   
End Sub
 
15 nolu mesajımda ki dosyayı güncelledim. Deneyiniz.
 
Korhan Bey Günaydın,

Desteğiniz ve emeğiniz için çok teşekkürler, tam istediğim gibi ama ben bunu kendi dosyama uygulayamadım :(

Saygılarımla,
 

Ekli dosyalar

Geri
Üst