VBA вставить переменную формулу с подсчетом - PullRequest
0 голосов
/ 07 июня 2019

Я хочу, чтобы число листов в рабочей книге вставляло формулы в columns C & D, я рад представить список доступных листов и получить формулу;

=SUMPRODUCT(SUMIF(INDIRECT("'"&$A$1:$A$10&"'!"&"$BI$1:$BI$1000"),C4,INDIRECT("'"&$A$1:$A$10&"'!"&"$ax$1:$ax$1000"))) 

, которая выполняет обработку.Я хочу изменить $A$10 на количество листов, которые перечислены в столбце уже закодированы.так что $A & "variable".Кроме того, можно ли вставить в одно и то же число строк переменные, т. е. вставить формулу в C2:D4, если в книге 3 листа и т. д.

очень плохо знаком с VBA, поэтому любая помощь будет высоко оценена

1 Ответ

0 голосов
/ 07 июня 2019

Я не совсем понял вашу формулу, но я думаю, что вы хотите, чтобы формулы находились в том же количестве строк, что и листы. Вы можете попробовать этот код:

Public Sub InsertFormulae() 'Sample Name
    Dim inCount As Integer      'To move through rows
    inCount = 2
    ActiveSheet.Range("C2:D" & Rows.Count).ClearContents  'To reset C and D columns
    For Each Worksheet In ActiveWorkbook.Worksheets       'To cycle through all sheets
        ActiveSheet.Range("C" & inCount).Formula = ""     'Insert Formula for C Column instead of ""
        ActiveSheet.Range("D" & inCount).Formula = ""     'Insert Formula for D Column instead of ""
        inCount = inCount + 1
    Next Worksheet
End Sub

Это будет соответствовать вашим критериям: если у вас есть 3 листа, формулы будут помещены в C2: D4.

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