Подтвердить что ты не робот

Диапазон VBA от String

Это глупо, но я некоторое время застрял в этом простом заявлении:

    Dim range1 as Range
    Dim mysheet as String
    Dim myrange as String

    mysheet = "Sheet1"
    range = "A1:A10"

range1 = Worksheets(mysheet).Range(myrange)

Я тестировал все решения, которые я нашел в Интернете, например this, this и this, но ничего.

Все время он дает мне ошибки: 1004 "Ошибка, определяемая приложением" или "объектная переменная или не установлена".

Я пробовал следующее:

range1 = ThisWorkbook.Worksheets(mysheet).Range(myrange)

range1 = ActiveWorkbook.Worksheets(mysheet).Range(myrange)

range1 = Sheets(mysheet).Range(myrange) (and the combinations above)

range1 = Worksheets(mysheet).Range(Cells(1,1), Cells(1,10)) (and the combinations with This/Active workbook)

и

with This/ActiveWorkbook
range1 = .Worksheets(mysheet).Range(myrange)
end with

Ничего не работало.

Это ДЕЙСТВИТЕЛЬНО глупо, но сейчас я застрял: s

Кто-нибудь может мне помочь?

В самом деле, спасибо заранее.

С уважением,

4b9b3361

Ответ 1

Вам нужно использовать Set для назначения объектов:

Set range1 = Worksheets(mysheet).Range(myrange)