Я пытаюсь определить именованный диапазон (с областью рабочей книги) в VBA на основе определенных входных данных, чтобы помочь выяснить ячейки, которые должны быть включены в диапазон. Чтобы сделать это очень простым, я пробовал следующие два с ошибками, указанными ниже. A, B, X, Y определяются из некоторых расчетовУстановить диапазон и определить именованный диапазон в VBA
rName = <some string that decides the name>
Set TempRng = .Range(.Cells(A,B), .Cells(X,Y))
ActiveWorkbook.Names.Add Name:=rName, RefersTo:=Worksheets("Sheet1").TempRng
Это дает мне «объект или метод не поддерживается» ошибка или что-то подобное, на линии Set TempRng.
rName = <string ...>
Set TempRng = Worksheets("Sheet1").Range(Cells(A,B), Cells(X,Y))
ActiveWorkbook.Names.Add Name:=rName, RefersTo:= <blah blah...>
Это дает мне «определенную или определенную объектом ошибку» в той же строке.
Не могли бы вы помочь мне найти правильный способ определения этого диапазона?
Второй код является правильным. Тем не менее я бы дал свой голос. – L42
Я попробую это, как только я пройду линию Set TempRng. Можете ли вы рассказать мне, как я должен установить диапазон (я имею в виду степень)? – Jabberwocky
Ой, попробуйте явные ссылки на ячейки, как вы делали выше, т.е. Установить TempRng = Рабочие листы («Лист1»). Диапазон (Рабочие листы («Лист1»). Ячейки (A, B), Рабочие листы («Лист1»). Ячейки (X, Y)) Или просто: С рабочими листами («Лист1»). set TempRng = .Range (.Cells (a, b). Ячейки (b, c)) Возможно, вы оставили «С» в верхней части и оставили объект Worksheet для второго? – Simon