當前位置:成語大全網 - 新華字典 - 想用VBA實現有條件的求和:

想用VBA實現有條件的求和:

i 和 j 沒放到循環語句中。

下面給妳演示個不用循環就可以計算出來的簡單例子,希望妳能從中舉壹反三。

設活動工作表中有如下格式的數據,其中 D6:D7 為存放代碼計算出來的結果區域

參考 VBA 代碼

Public?Sub?Sum12Num()

With?ActiveSheet.Cells(6,?4)

.FormulaArray?=?"=SUM(OFFSET(INDEX(2:2,,MATCH(TRUE,2:2<>0,0)),,,,12))"

.AutoFill?.Resize(2)

.Value2?=?.Value2

End?With

End?Sub

關鍵技術分析

公式數組

=SUM(OFFSET(INDEX(2:2,,MATCH(TRUE,2:2<>0,0)),,,,12))

Step1

用 MATCH 函數查找第二行首個不為 0 的單元格所在的列索引號。

返回 >> 5

Step2

用 INDEX 繼續在第二行中查找首個不為 0 的單元格,其中第三個參數使用了 Step1 中返回的列索引號。

返回 >> 對 E5 單元格的引用

Step3 >> 用 OFFSET 函數對 Step2 返回的單元格引用(E5)往右調整 12 個單元格。

返回 >> E2:P2

Step4 >> 用 SUM 函數對 Step3 返回的 12 個單元格區域求和

程序運行動畫效果