Пересечь с строкой динамически - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь пересечь целевой диапазон с какой-то строкой, динамически меняясь: я использовал это:

If Not intersect ([1:7],target) Is Nothing Then

И это работает, но:

Dim n as Integer : n = 7
If Not intersect ([1:n],target) Is Nothing Then

Возвращает ошибку 424

Ответы [ 3 ]

5 голосов
/ 31 мая 2019

[] не разрешает переменные, которые вам понадобятся, чтобы их прописать:

Dim n as Integer : n = 7
If Not intersect (Range("1:" & n),target) Is Nothing Then  
2 голосов
/ 31 мая 2019
Синтаксис

[] является сокращением для Evaluate:

If Not intersect (Evaluate("1:" & n), target) Is Nothing Then
1 голос
/ 31 мая 2019

Попробуйте:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim n As Integer: n = 7

    If Not Intersect(Target, Rows("1:" & n)) Is Nothing Then
        MsgBox "in"
    End If

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