Я пытаюсь создать форму ввода пользователя, которая имеет динамический условный дисплей. Другими словами, когда форма сначала открывается, я хотел бы, чтобы определенные ячейки не отображались, а затем я хотел бы, чтобы они отображались или нет, когда пользователь начинает вводить данные. Вот то, что я в настоящее время:Excel: Условно отображение ячеек
Основе от того, или не выбирает пользователь «Дни» или «Часы» из коробки в С3, я хотел бы для строк с 6 по 8, которые будут скрыты. Аналогично, если пользователь выбирает «Часы», строки с 9 по 11 должны быть скрыты. Это то, что я написал до сих пор:
Sub ConditionalDisplay()
BeginRow = 1
EndRow = 50
For RowCnt = BeginRow to EndRow
IF Cells(RowCnt, CheckColumn).Value = "Days" THEN
Rows("6:8").EntireRow.Hidden = TRUE
ELSE
Rows("6:8").EntireRow.Hidden = FALSE
END IF
Next RowCnt
End Sub
Это не работает. Даже если бы это было так, я думаю, для этого потребуется, чтобы пользователь вручную запускал этот макрос каждый раз, когда он открывает эту книгу, чего нужно избегать.
Любые предложения?
Вы никогда не объявляли 'CheckColumn' - что это будет? Также обратите внимание на событие 'Workbook_Open()', если вы хотите скрыть определенные ячейки при открытии. – BruceWayne
'рабочие листы (« Калькулятор »). Строки (« 6: 8 »). Скрытые = рабочие листы (« Калькулятор »). Диапазон (« C3 ») =« Дни »и« Листы »(« Калькулятор »). Строки (" 9:11 »). Скрытые = рабочие листы (« Калькулятор »). Диапазон (« C3 ») =« Часы »' –
@BruceWayne извините за это ... CheckColumn = 3 –