简体   繁体   English

隐藏多列 VBA Excel

[英]Hide multiple columns VBA Excel

In sheet1 I need to show all columns from (C:N), where is selected month in (B2), other columns must hide.在 sheet1 中,我需要显示 (C:N) 中的所有列,其中在 (B2) 中选择月份,其他列必须隐藏。 If i chose month 4 in B2, then i need to see only these columns where is date with month 4 in (C:N) and etc.如果我在 B2 中选择了第 4 个月,那么我只需要查看这些列,其中的日期是 (C:N) 中的第 4 个月等等。

If i have full calendar of dates, how to find exact month and hide others??如果我有完整的日期日历,如何找到确切的月份并隐藏其他月份?

在此处输入图片说明

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wb As Workbook
Dim ws As Worksheet
Dim entireRange As Range
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1")
Set entireRange = ws.Columns("C:N")

entireRange.EntireColumn.Hidden = False

Select Case ws.Range("B2")

  Case "1"
      ws.Range("G:N").EntireColumn.Hidden = True

  Case "5"
      ws.Range("C:F,H:N").EntireColumn.Hidden = True

  Case "6"
      ws.Range("C:G,I:N").EntireColumn.Hidden = True



End Select
End Sub

A simple code to hide the Columns that don t fit your month would look like this:隐藏不适合您月份的列的简单代码如下所示:

Sub HidingColumn()

Dim i As Long

For i = 12 To 3 Step -1 '12 being your N Column

    If Month(Cells(4, i)) <> Range("B2").Value Then
        Cells(4, i).Columns.Hidden = True
    End If
Next i

End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM