Как я могу использовать VBA для создания формулы = AVERAGE в динамической ячейке с динамическим диапазоном? - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь написать подпрограмму, которая позволит мне заменять формулу при каждом запуске макроса.

Я могу выбрать нужный диапазон:

Range("A3").Select
Selection.End(xlDown).Select
Range("B5", ActiveCell.Offset(-1, 1)).Select

И я могу найти ячейку, в которой я хочу формулу, используя:

Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(2, 1).Activate

Есть ли способ, которым я могу сделать формулу, которая говорит =AVERAGE([selected range])?

Примечание: я не хочу просто иметь значение в ячейке.Мне нужно, чтобы была активная формула, показывающая результаты.

1 Ответ

0 голосов
/ 26 ноября 2018

Казалось бы, вы пытаетесь сделать что-то вроде этого:

Dim lrows As Long

lrows = Range("A3").End(xlDown).Row - 1

Range("A" & lrows + 1).Formula = "=AVERAGE(B5:B" & lrows & ")"

Вам следует избегать использования SELECT ing и ACTIVATE ing ячеек в вашем коде, это замедляет его и делает его меньшенадежный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...