Я полностью новичок в Excel, но я хочу создать макрос, в котором я могу заполнить два столбца, а также начальный и конечный номер строк, и он будет выглядеть следующим образом:
=(A1*B1+A2*B2+A3*B3...)/((SUM of column B)/N))
где N
количество строк
Как бы я сделал это в Excel?
microsoft-excel
vba
shA.t
источник
источник
Ответы:
Прежде всего, все будет намного проще, если вы будете использовать стандартные адреса ячеек!
Обычно на ячейки ссылаются по их «A1» -адресам, но в VBA (Visual Basic для приложений) к ним также можно обращаться с помощью координат [Row, Column]. Например
Cell(1, 2)
, будет "B1".Вы можете рассчитать значение либо с помощью формул, либо с помощью пользовательских VBA (макросы). Формулы часто являются более простой альтернативой, но в некоторых случаях использование VBA имеет свои преимущества .
Использование формул
Вот макет образца данных:
Столбцы A и B заполнены числами, которые нужно умножить вместе.
Ячейка «C2» содержит формулу, используемую для расчета значения.
SUMPRODUCT
умножает значения столбцов A и B для каждой строки и суммирует их.SUM
складывает все числа , найденные в колонке B .COUNTA
вычисляет количество непустых ячеек в столбце B (мы должны вычесть заголовок).Посмотрите функции на странице поддержки Microsoft Office для получения дополнительной информации.
Использование VBA
Вы можете достичь того же (и даже больше!), Используя VBA .
Откройте VBE (редактор Visual Basic) с помощью Alt+ F11или на вкладке разработчика .
Создайте новый модуль стандартного кода.
Вставьте приведенный ниже код в модуль. Вы можете настроить его под свои нужды.
StackOverflow имеет много хороших вопросов и ответов о VBA .
источник