Excel VBA для вставки чередующихся формул в один столбец - PullRequest
0 голосов
/ 14 декабря 2018

Можно ли использовать vba для вставки 2 разных формул в одинаковый столбец?Я хочу, чтобы формулы чередовались.Я пытаюсь сделать Sumif's, но диапазон сумм меняется после каждой второй строки, поэтому мне нужно иметь возможность вставлять 2 разные формулы.

Итак, чтобы попытаться объяснить это дальше - скажем, в ячейке A1 я хочу использовать сумму, и диапазон суммы равен столбцу K, но затем A2 должен суммировать столбец L, а затем A3 должен вернуться к столбцуК и тд.

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

Возможно ли то, чего я пытаюсь достичь?

Ответы [ 4 ]

0 голосов
/ 14 декабря 2018

без петли:

Sub FFF()
    [A1].Formula = "=SUM(K:K)"
    [A2].Formula = "=SUM(L:L)"
    [A1:A2].AutoFill [A1:A20]
End Sub
0 голосов
/ 14 декабря 2018

Вы также делаете это в Excel, используя функцию ROW:

=IF(MOD(ROW(),2)<>0,SUM(K:K),SUM(L:L))
0 голосов
/ 14 декабря 2018

Свойство WorksheetFunction также очень полезно для подобных требований.Все вычисления выполняются в VBA, а не на самом листе.

Sub Alternate()
    Dim i As Long
    For i = 1 To 20 Step 2
        Range("A" & i) = WorksheetFunction.SumIf(Range("J:J"), criteria, Range("K:K"))
        Range("A" & i + 1) = WorksheetFunction.SumIf(Range("J:J"), criteria, Range("L:L"))
    Next i
End Sub

... где «критерий» - это что-то вроде «> 10» или «whatString»

0 голосов
/ 14 декабря 2018

Хитрость заключается в использовании Step 2 в вашем цикле.

Вам, конечно, нужно будет настроить диапазон петли, так как это всего лишь общий пример.Если вы уроните это в область кода рабочего листа и запустите, вы заметите, что все остальные строки переключаются между суммированием Column K и Column L


Sub Alternate()

Dim i As Long

For i = 1 To 20 Step 2
    Range("A" & i).Formula = "=Sum(K:K)"
    Range("A" & i + 1).Formula = "=Sum(L:L)"
Next i


End Sub

Кроме того, квалифицируйте ваши объекты должным образом в отличие отприведенный выше пример!

enter image description here

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