VBA, если выбраны определенные столбцы и строки, Ошибка несоответствия типов - PullRequest
1 голос
/ 12 июня 2019

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

If Selection.Worksheet.Columns("E:L") And Selection.Worksheet.Rows("16:99999") Then

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Введите код в соответствующем листе:

enter image description here

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If (Not Intersect(Target, Columns("E:L")) Is Nothing) And _
        (Not Intersect(Target, Rows("16:99999")) Is Nothing) Then

        Debug.Print Target.Address

    End If

End Sub
1 голос
/ 12 июня 2019

Вы увидите, что ключевое слово Target всегда возвращает объект Range ячейки, которая запустила событие Worksheet_Change.Итак, вооружившись этим знанием, мы теперь можем использовать метод пересечения, чтобы предпринять какое-то действие, когда / если указанная ячейка будет изменена.Например;

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E12:L54787")) Is Nothing Then
        MsgBox "Hello"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...