Excel'de tarihe göre sütunları otomatik olarak nasıl gizleyebilirim?
Bir çalışma sayfasında bir dizi veriye sahip olduğumu varsayarsak, şimdi sütunları belirli bir tarihe göre otomatik olarak gizlemek istiyorum. Örneğin, bir hücreye 5/16/2016 tarihini girdiğimde, aşağıdaki ekran görüntüsü gibi, tarihi bu belirli tarihten daha küçük olan sütunları hemen gizlemek istiyorum. Bu makale, sorunu çözmek için bazı püf noktaları tanıtacaktır.
Bu görevi tamamlamak için aşağıdaki VBA kodu size yardımcı olabilir, lütfen aşağıdakileri yapın:
1. Tarihe göre gizlemek istediğiniz sayfa sekmesini seçin ve seçmek için sağ tıklayın Kodu Görüntüle bağlam menüsünden Uygulamalar için Microsoft Visual Basic penceresini açın ve ardından aşağıdaki kodu Modüle kopyalayıp yapıştırın:
VBA kodu: Sütunları belirli bir tarihe göre otomatik olarak gizleyin:
Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice Dim xCell As Range If Target.Address <> Range("K4").Address Then Exit Sub Application.ScreenUpdating = False For Each xCell In Range("A1:I1") xCell.EntireColumn.Hidden = (xCell.Value < Target.Value) Next Application.ScreenUpdating = True End Sub
2. Ardından bu kodu kaydedip kapatın, çalışma sayfasına geri dönün ve şimdi tarihi hücreye girdiğinizde K4, tarihi bu belirli tarihten daha küçük olan sütunlar otomatik olarak gizlenecektir.
not: Yukarıdaki kodda, K4 sütunları temel alarak gizlemek istediğiniz belirli tarih hücresidir, A1: I1 satır hücreleri kullandığınız tarihi içerir.
Koda aşina değilseniz, işte kullanışlı bir araç:Kutools for Excel, Onun ile Belirli Hücreleri Seçin yardımcı program, bu işi kolaylıkla bitirebilirsiniz.
|Kutools for Excel : 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin.|
Kurduktan sonra Kutools for Excellütfen aşağıdaki işlemleri yapın:
1. Tarih başlıklarını seçin ve tıklayın Kutools > seçmek > Belirli Hücreleri Seçin, ekran görüntüsüne bakın:
2. Dışarı fırladı Belirli Hücreleri Seçin iletişim kutusunu seçin Tüm sütun itibaren Seçim türüve ardından aşağıdaki kriterleri seçin: Küçüktür itibaren Belirli tür açılır listeye ve sütunları temel alarak gizlemek istediğiniz metin kutusunun yanına tarihi girin, ekran görüntüsüne bakın:
3. Ve sonra tıklayın Ok düğmesi, tarihi 5/16/2016 tarihinden daha az olan belirli sütunlar bir defada seçilir, ekran görüntüsüne bakın:
4. Ardından, seçilen herhangi bir sütun başlığına sağ tıklayın ve gizlemek ihtiyaç duyduğunuzda seçilen sütunları gizlemek için. Ekran görüntüsüne bakın:
You are guest
or post as a guest, but your post won't be published automatically.
-
To post as a guest, your comment is unpublished.· 3 years agoI have the same issue as Chris. The cell with my date does not always change. I need the macro to run regardless of whether the date has changed from last month or is the same as last month without having to click on the cell itself and hit enter to trigger the "Change"
-
To post as a guest, your comment is unpublished.· 3 years agoHello,
Thanks for the code.
In my case the cell K4 is a calculation cell from the formula =EOMONTH(A1,0). Example: A1 = 01.03.2017. K4 takes the value 31.03.2017. But the VBA code that you propose does not hide the columns until I click on K4 cell and press Enter to refresh it. I tried to add Range("K4").calculate but with no effect. Help please.