Этот код работает правильно:Установить диапазон от различного листа и ВПР функции
Sub test_range()
Dim Range1 As Range
Set Range1 = Sheet4.Range("B2:F6081")
End Sub
Когда я изменить диапазон в переменной он дает мне ошибку 1004:
Sub test_range()
Dim Range1 As Range
Set Range1 = Sheet4.Range(Cells(2, 2), Cells(6081, 6))
End Sub
Что случилось с моим «выбор ячеек»?
Кроме того, я хотел бы применить его на функцию ВПР:
For C = 2 To ColNumber
C4 = C + 4
For R = 2 To RowNumber
Set Condition = Sheet1.Cells(R, 2)
'MsgBox (Condition)
Set Range1 = Sheet4.Cells(2, 2).Offset(6079, C + 3) 'B2 (row 2 column 2) : F6081 (row 6081 column 6)
'MsgBox (Range1)
arg1 = 5
arg2 = False
Sheet1.Cells(R, C4).Value = Application.WorksheetFunction.VLookup(Condition, Range1, 5, 0)
Next R
Next C
Я попытался изменить диапазон в
Range1 = Sheet4.Cells(2, 2).Offset(6079, C + 3)
Функция Диапазон работала, но функция ВПР (снова) дал мне error 1004
Я прочитал несколько случаев для vlookup и каждого тусклого результата vlookup в качестве варианта. Должен ли я это делать? Не могу я просто поместить результат этого на значение столбца?
На вашей первой задаче: '' Cells' означает ActiveSheet.Cells'! Поэтому, если ваш активный лист не является Sheet4, 'Sheet4.Range (Cells (...' даст вам ошибку! Используйте 'Sheet4.Range (Sheet4.Cells' вместо этого или даже лучше' Sheet4.Cells (2,2)) .Resize (6080,5) ' –
работает хорошо для обеих функций, диапазон и vlookup. THANKS A LOT –
отлично! Я отправил его в качестве ответа. Если он решил вашу проблему, отметьте его как ответ тогда! –