Скрыть несколько столбцов VBA Excel - PullRequest
0 голосов
/ 09 ноября 2018

На листе 1 мне нужно показать все столбцы из (C: N), где в (B2) выбран месяц, остальные столбцы должны скрываться. Если я выбрал месяц 4 в B2, то мне нужно увидеть только эти столбцы, где указана дата с месяцем 4 в (C: N) и т. Д.

Если у меня есть полный календарь дат, как найти точный месяц и спрятать других?

enter image description here

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

1 Ответ

0 голосов
/ 12 ноября 2018

Простой код для скрытия столбцов, которые не соответствуют вашему месяцу, будет выглядеть так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...