Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count = 1 Then
    If Not Intersect(Target, Range(abc)) Is Nothing Then
        Call MyMacro
    End If

End If
End Sub

этот код работает нормально, когда я, например, помещаю диапазон ("A1"), так что нажатие на A1 запускает макрос, теперь у меня есть объединенный диапазон W20:Z20, я обозначил диапазон как ABC, теперь, когда я возвращаюсь к своему листу, попытаться щелкнуть по ячейке, она выдает ошибку «ошибка компиляции, переменная не определена»

1 ответ1

1

Добро пожаловать в суперпользователя.

Как сказал Máté Juhász, если вы поместите "abc" в If Not Intersect(Target, Range(abc)) Is Nothing Then в кавычках ваш код должен работать.

Эта строка вашего кода будет выглядеть так:

If Not Intersect(Target, Range("abc")) Is Nothing Then

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .