Ошибка несоответствия типа, объявление переменной диапазона в Excel VBA

Это должно быть простое исправление, но я искал и искал и не могу понять, что не так.

Я получаю сообщение «Ошибка выполнения 13: несоответствие типов»:

Dim rng As Range    
Dim endRW As Integer, endCol As Integer
endRW = 30
endCol = 10
Set rng = Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2,3),Sheets("Sheet1").Cells(endRW,endCol)) 

^^^ последняя строка вызывает ошибку ^^^^


person Sheldon Frith    schedule 19.04.2016    source источник


Ответы (2)


Пытаться

Set rng = Sheets("Sheet1").Range(Cells(2, 3), Cells(endRW, endCol))

Доказательство.

введите здесь описание изображения

person teylyn    schedule 19.04.2016
comment
Тогда вы делаете что-то другое, чем то, что я написал. Смотрите скриншот. Код работает нормально. - person teylyn; 19.04.2016
comment
Да, ты был прав. На самом деле проблема была с MsgBox, который я использовал для поиска ошибки, ха-ха. Извините, спасибо за вашу помощь. - person Sheldon Frith; 20.04.2016
comment
Затем примите ответ, как описано в туре. - person teylyn; 20.04.2016

попробуй это

Sub temp()
    Dim rng As Range
    Dim endRW As Long, endCol As Long
    endRW = 30
    endCol = 10
    Set rng = Worksheets("Sheet1").Range(Cells(2, 3), Cells(endRW, endCol))
End Sub
person Karthick Gunasekaran    schedule 19.04.2016