Как я могу скрыть / показать столбцы и строки на другом листе («План проекта») в той же книге с помощью флажка? Если флажок установлен, они не должны быть скрыты. Если флажок не установлен, они должны быть скрыты. Флажки находятся на собственном листе («Руководство»). Я пробовал следующее, но получаю сообщение об ошибке «Ошибка времени выполнения« 424 »: требуется объект»
Sub Team_Availability_Click()
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Project Plan").Rows("5:8")
If Team_Availability.Value = False Then
rng.Hidden = True
ElseIf Team_Availability.Value = True Then
rng.Hidden = False
End If
End Sub
В качестве альтернативы я попробовал этот способ, обнаружив аналогичный вопрос с использованием какого-либо объекта:
Sub Team_Availability_Click()
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Project Plan").Rows("5:8")
If ThisWorkbook.Worksheets("Guidelines").Shapes("Team_Availability").OLEFormat.Object.Value = 0 Then
rng.Hidden = True
ElseIf ThisWorkbook.Worksheets("Guidelines").OLEFormat.Object.Value = 1 Then
rng.Hidden = False
End If
End Sub
Здесь я получаю сообщение об ошибке
Элемент с указанным имя не найдено.
Я не представил дим / сет, я думаю. Теперь это самая новая версия:
Теперь я получаю сообщение об ошибке в строке Set cb = ActiveSheet...
, говорящее
Элемент с указанным именем не найден.
Sub Team_Availability_Click()
Dim cb As Shape
Dim rng As Range
Set cb = ThisWorkbook.Sheets("Guidelines").Shapes("Team_Availability")
Set rng = ThisWorkbook.Sheets("Project Plan").Rows("5:8")
If ThisWorkbook.Sheets("Guidelines").Shapes("Team_Availability").OLEFormat.Object.Value = -4146 Then
rng.Hidden = True
ElseIf ThisWorkbook.Sheets("Guidelines").Shapes("Team_Availability").OLEFormat.Object.Value = 1 Then
rng.Hidden = False
End If
End Sub