У меня проблемы с созданием кода, который скрывает столбцы на основе записи в ячейке - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать код в Excel VBA, который будет скрывать столбцы на основе записи в ячейке D6. Пользователь введет целое число (1-5), нажмите кнопку, которую я создал, и тогда будет показан только соответствующий столбец, все остальные будут скрыты. Например, если они введут 1 в ячейку D6, я хочу скрыть столбцы с D по G. Если они введут 4, я скрою C, D, E и G.

Я очень новичок в VBA, так что я смотрю YouTube и смотрю, как это все еще не получается.

Private Sub CommandButton1_Click()

Dim the_selection As String
Dim band_in_review As String


the_selection = Sheet1.Range("D6")

    Dim i As Integer
    For i = 3 To 7
        the_column = Columns(i).Select
        band_in_review = Sheet1.Range(the_column & "4")
            If the_selection = band_in_review Then
            Sheet1.Range(the_column & ":" & the_column).EntireColumn.Hidden = False
            Else
            Sheet1.Range(the_column & ":" & the_column).EntireColumn.Hidden = True
            End If
    Next i

End Sub

Ошибка времени выполнения «1004»: Метод 'Range' объекта '_Worksheet' не выполнен

Снимок экрана Excel

1 Ответ

0 голосов
/ 04 июня 2019

РЕДАКТИРОВАТЬ: на основе вашего скриншота

Private Sub CommandButton1_Click()
    Dim i As Long
    Dim theBand As String

    theBand = "OEB " & Sheet1.Range("K5").Value

    For i = 3 To 7
        Sheet1.Columns(i).Hidden = (theBand <> Sheet1.Cells(9, i).Value)
    Next i

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...