2015-08-19 2 views
1

Я не могу понять, как использовать set диапазон в формуле:Установить диапазон и использовать этот диапазон в формуле

set range = Application.InputBox(prompt:="test", Title:="test", Type:=8) 
Sheets("sheet1").Cells(3, 4).Formula = "=sum(range)" 

Все, что возвращаемые sum(range), а не фактическая сумма выбранного клетки.

Я пробовал range.address и пару других вариантов безрезультатно.

ответ

2

Ваша формула является строкой, так что вам нужно сцепить свой адрес диапазона в формулу:

Sheets("sheet1").Cells(3, 4).Formula = "=sum(" & range.Address & ")" 

Вы, вероятно, следует использовать другое имя для переменной, однако, как Range является встроенный тип/function в Excel VBA.

+1

Просто удвоение на «... используйте другое имя для вашей переменной ...». Я обычно использую 'rng' или' myRange' или что-то вместо 'Range'. – BruceWayne

+0

OK, сделаю. Благодарю. – RTrain3k

Смежные вопросы