Добрый день. Имею такую проблему. Несколько таблиц с данными, необходимо просуммировать построчно значения столбцов (СТ), записать значение в последний столбец (Общее) кол-во столбцов (СТ) и строк может меняться, поэтому решил использовать выбор диапазона и вставку формулы суммирования, но протянуть формулы ниже не удается, встает значение первого диапазона. [vba]
Код
Sub тестформул() Dim r As Range Set r = Application.InputBox("Выбор ячеек", "Запрос данных", "", Type:=8) ActiveCell.Formula = Replace("=sum(X)", "X", r.Address) End Sub
[/vba]
Добрый день. Имею такую проблему. Несколько таблиц с данными, необходимо просуммировать построчно значения столбцов (СТ), записать значение в последний столбец (Общее) кол-во столбцов (СТ) и строк может меняться, поэтому решил использовать выбор диапазона и вставку формулы суммирования, но протянуть формулы ниже не удается, встает значение первого диапазона. [vba]
Код
Sub тестформул() Dim r As Range Set r = Application.InputBox("Выбор ячеек", "Запрос данных", "", Type:=8) ActiveCell.Formula = Replace("=sum(X)", "X", r.Address) End Sub
Добрый день. Вы адрес передаете абсолютный. Вот так для относительного [vba]
Код
Sub тестформул() Dim r As Range Set r = Application.InputBox("Выбор ячеек", "Запрос данных", "", Type:=8) ActiveCell.Formula = Replace("=sum(X)", "X", r.Address(0, 0)) End Sub
[/vba]
Добрый день. Вы адрес передаете абсолютный. Вот так для относительного [vba]
Код
Sub тестформул() Dim r As Range Set r = Application.InputBox("Выбор ячеек", "Запрос данных", "", Type:=8) ActiveCell.Formula = Replace("=sum(X)", "X", r.Address(0, 0)) End Sub
Чтобы не протягивать, можно макросом заполнять все ("все" определяются по заполненности столбца А) Запускать макрос можно, находясь в любой ячейке [vba]
Код
Sub тестформул() Dim d As Range r0_ = 2 r1_ = Cells(Rows.Count, 1).End(3).Row Set d = Application.InputBox("Выбор ячеек для ОДНОЙ!!! формулы", "Запрос данных", "", Type:=8) With d Cells(r0_, .Column + .Count).Resize(r1_ - r0_ + 1).Formula = "=sum(" & .Address(0, 0) & ")" End With End Sub
[/vba]
Чтобы не протягивать, можно макросом заполнять все ("все" определяются по заполненности столбца А) Запускать макрос можно, находясь в любой ячейке [vba]
Код
Sub тестформул() Dim d As Range r0_ = 2 r1_ = Cells(Rows.Count, 1).End(3).Row Set d = Application.InputBox("Выбор ячеек для ОДНОЙ!!! формулы", "Запрос данных", "", Type:=8) With d Cells(r0_, .Column + .Count).Resize(r1_ - r0_ + 1).Formula = "=sum(" & .Address(0, 0) & ")" End With End Sub