2022年8月30日 星期二

VBA EASY 寫EXCEL 函數(VBA RANGE.FORMULA)

 小編這幾天有同學在問,有無辦法批次寫函數,然後小編滑鼠點2下就自動順著行自動產生了(同事臉綠)再問,我希望每行函數條件都"要指定",有解???

小編苦笑0.....................0 有。

但要時間,所以留下這一篇當作紀錄。

在儲存格物件中,要寫入公式,主要是控制formula 這個函數。

先來個簡易版:

圖1.
如圖1資料,做c1:l1 sum函數使用,一般excel都是這樣做,如圖2.

圖2.
vba 則是這樣:作一個activex 命令按鈕後,插入程式碼。

Private Sub CommandButton1_Click()

    Sheets("工作表2").Range("b1").Formula = "=SUM(C1:L1)"

End Sub

運算結果相同歐! 然後如圖1的資料堆壘方式,其實A行的函數滑鼠點兩下自動產生即可


來一點難度:

當資料筆數不相同時????

圖2.
說明:透過VBA計算資料數量後,SUM函數就可以自動計算各列資料了。

Private Sub CommandButton1_Click()

   For I = 1 To 3 Step 1

            S2 = Application.CountA(Sheets("工作表2").Range(I & ":" & I)) 

         S2_ADDRESS = Split(Sheets("工作表2").Cells(1, S2).Address, "$")

         Sheets("工作表2").Range("b" & I).Formula = "=SUM(C" & I & ":" & S2_ADDRESS(1) & I & ")" '小編從C行開始堆壘資料

    Next    

End Sub

類似應用文:

VBA:Range.formula 乖離率

VBA:透過SUMPRODUCT,來分析產業別營收年增率走勢圖












沒有留言:

張貼留言

指數變化(2024.05.17)

指數變化(2024.05.17) 上周焦點:         5/9當周焦點                          事實:fed與非農就業,引起投資市場對降息有加速,但肯定的是,fed說不加息了。                        美國密西根大學信心指數 ...