Ссылка на адрес ячейки и сохранение его в объекте Range - PullRequest
0 голосов
/ 22 декабря 2018

Я перебираю столбец и хочу поймать ячейки, которые соответствуют искомой строке текста.Моя проблема возникает, когда я пытаюсь установить адрес ячейки, отвечающей критериям поиска, в объект Range.Строка: Set testRng = i.Range.Adress. Выдает ошибку «Неверное количество аргументов или неправильное назначение свойства», и я не уверен, в чем здесь проблема?

Это весь код, с которым я работаю:

Sub Tester()

Dim rng As Range
Dim testRng As Range
Dim i As Variant
Dim cmpr As String
Dim usrInputA As String
usrInputA = InputBox("Col 1 Criteria: ")
Set rng = Range("A2:A10")
For Each i In rng
    cmpr = i.Value
    If InStr(cmpr, usrInputA) Then
        If testRng Is Nothing Then
           Set testRng = i.Range.Address
        Else
            Set testRng = testRng & "," & i.Range.Address
        End If
    Else
        MsgBox "No hit"
    End If
    Next
End Sub

1 Ответ

0 голосов
/ 22 декабря 2018
  1. Вы должны объявить i как Range ( не Variant)
  2. Использовать Union для группировки набора ячеек вместо попыткивручную создайте строку
  3. Переключите порядок набора диапазона.Вам нужно только Set rngTest = i один раз, чтобы я поместил это внизу, чтобы вам не приходилось спамить.

Option Explicit

Sub Tester()

Dim testRng As Range, i As Range
Dim usrInputA As String
Dim LR as Long

usrInputA = InputBox("Col 1 Criteria: ")
LR = Range("A" & Rows.Count).End(xlUp).Row

For Each i In Range("A2:A" & LR)
    If InStr(i, usrInputA) Then
        If Not testRng Is Nothing Then
           Set testRng = Union(testRng, i)
        Else
           Set testRng = i
        End If
    End If
Next i

If Not testRng is Nothing Then
    'Do what with testRng?
End If

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