Кому: Stackoverflow Я искал в вашей библиотеке и нашел соответствующий ответ в [введите описание ссылки здесь] [1]
[1]: Excel VBA: автозаполнение нескольких ячеек формулами . Это прекрасный код, созданный Джеромом Монтино от 2014-02-28 и отвечающий ему следующим образом: -
Sub FillDown()
Dim strFormulas(1 To 3) As Variant
With ThisWorkbook.Sheets("Sheet1")
strFormulas(1) = "=SUM(A2:B2)"
strFormulas(2) = "=PRODUCT(A2:B2)"
strFormulas(3) = "=A2/B2"
.Range("C2:E2").Formula = strFormulas
.Range("C2:E11").FillDown
End With`
End Sub
Этот код, описанный выше, работает для меня, когда у меня есть только несколько предопределенных strFormulas.
Однако у меня есть более 23 формул в строке. Время от времени мне также нужно добавить несколько формул в каждую строку, когда возникнут потребности.
Поскольку наш xlsm-файл проекта предназначен для совместной работы в группах, другие пользователи могут добавлять строки либо вверху (чуть ниже заголовка), либо внизу последней строки, либо в любой ряд в середине.
Я не хочу использовать кнопку макромодуля для написания кода, потому что большинство пользователей не знают, как использовать кнопку, или могут забыть использовать такую кнопку. Они знают только, как использовать правую кнопку «Вставить ячейку сдвига вниз», которая не будет автоматически заполнять формулы для добавленных строк.
Я не хочу превращать эти диапазоны дат в таблицы или списки объектов.
Моя цель состоит в том, чтобы вставить этот код VBA в рабочий лист или в эту рабочую книгу , чтобы он работал , а пользователи его не знали .
Из-за частого добавления формул нелегко отслеживать или поддерживать 23 или более strFormulas, если бы я использовал этот код.
Буду признателен, если вы мне посоветуете код, который можно вставить в лист или книгу, который является Dynami c для удовлетворения вышеизложенного. Спасибо.
от Tan L C 2020-02-12