Любовь Минаева
Любовь Минаева

VBA (EXCEL) -- как лучше задавать диапазон ячеек? вопрос внутри



Worksheets("Лист1").Range("A3", "P3") = "qqqq"
или
Sheets(1).Range(Cells(3, 1), Cells(3, 16))="qqqq"

и стоит ли использовать свойство .Value, или можно без него?
Sheets(1).Range(Cells(3, 1), Cells(3, 16)).Value="qqqq"

еще вопрос:
как в диапазон ячеек записать формулу, что бы она выполнялась. делаю так
Sheets(1).Range(Cells(3, 1), Cells(3, 10)).Formula = "=(СЛЧИС ()*(51-20)+20)"
но в ячейках ошибка "#ИМЯ? "

как правильно??

Оксана Рафеева
Оксана Рафеева

Насколько помню, Value - свойство определяется в VBA по умолчанию, поэтому в данном случае необязательно. Да и VBA менее привередлив к предварительной конвертации содержимого ячейки в число (определяет автоматически) при необходимости.

По поводу формулы, попробуй такой код:
' -----------
Application.Calculation = xlCalculationManual
Worksheets("Лист1").Range("A1", "J10").FormulaLocal = "=СЛЧИС ( )*10"
Application.Calculation = xlCalculationAutomatic
' -----------

Что лучше, смотреть необходимо по задаче. IMXO, Cells позволяет решать более широкий круг задач, по крайней мере локаничнее. Допустим, необходимо обрабатывать в цикле ряд строк. Их индексы удобно записать в массив и далее обращаться с помощью Cells.

Похожие вопросы
Как в Excel сохранить выделенный диапазон ячеек в Excel ???
Во что компилирует код VBA Excel?
Задан фрагмент электронной таблицы MS Excel. Запишите выделенный диапазон ячеек. Как записать выделенный диапазон ячеек?
Вопрос про VBA excel
excel формула или vba
Помогите с VBA в EXCEL. Вопрос внутри
вопрос по VBA Excel.
Написать программу на vba, считающую среднее арифметическое какого-то диапазона ячеек
Блокировка ячеек в Excel
Как скопировать много ячеек в excel на MacBook???