返回列表 上一主題 發帖

有關SUMIF VBA 寫法?

有關SUMIF VBA 寫法?

Range("H400").Select       'XX銀行轉帳部分(M)總數合計 第2~399列
ActiveCell.FormulaR1C1 = "=SUMIF(R[-398]C[-1]:RC[-1],""M"",R[-398]C[-2]:RC[-2])"

SUMIF 巨集一部分如上,意思即將XX銀行轉帳部分(M)總數合計列於轉帳明細表最後一列,今日有明細表250行時將轉帳部分(M)總數合計列於251行,而非固定於H400位置,假如明細表100行時將轉帳部分(M)總數合計列於101行,而非固定於H400位置,隨明細表多寡而變動位置,請問高手能告知上述 EXCEL VBA如何寫?

感激撥空答覆此問題
ActiveCell.FormulaR1C1 = "=SUMIF(R[-398]C[-1]:RC[-1],""M"",R[-398]C[-2]:RC[-2])"

ActiveCell.FormulaR1C1 = "=SUMIF(R[-399]C[-1]:RC[-1],""MX"",R[-399]C[-2]:RC[-2])"

ActiveCell.FormulaR1C1 = "=SUMIF(R[-400]C[-1]:RC[-1],""MH"",R[-400]C[-2]:RC[-2])"
我的意思是 R[-399]C[-1]:RC[-1],R[-398] , R[-399] , R[-400] ..等等用變數如 X+1 ,  X +2 來表示嗎?

TOP

區別碼        銀行碼        保留        帳號        交易日期        交易金額(F欄)        交易摘要(G)        借貸別
1        '005'        0        '012001090127'        20150206        100000                    MX                         1
1        '005'        0        '012001090127'        20150206        347415                       MR                   1
1        '005'        0        '012001090127'        20150206        129396                      MH                       1
1        '005'        0        '012001090127'        20150206        214039                  MR                      1
1        '005'        0        '012001090127'        20150206        28000                       M                      1
1        '005'        0        '012001090127'        20150206        40000                      M                     1
1        '005'        0        '012001090127'        20150206        1262001              MR                    1
1        '005'        0        '012001090127'        20150206        2231939             MR                   1
1        '005'        0        '012001090127'        20150206        786647                     MX                  1

    Range("H300").Select    'XX銀行轉帳部分(M)總數合計
    ActiveCell.FormulaR1C1 = "=SUMIF(R[-298]C[-1]:RC[-1],""M"",R[-298]C[-2]:RC[-2])"
    Selection.Style = "Comma"
    Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
    Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"

    Range("H301").Select     'XX銀行轉帳部分(MH)總數合計
    ActiveCell.FormulaR1C1 = "=SUMIF(R[-299]C[-1]:RC[-1],""MH"",R[-299]C[-2]:RC[-2])"
    Selection.Style = "Comma"
    Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
    Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"

    Range("H302").Select       '台銀轉帳部分(MX)總數合計 第2~200列
    ActiveCell.FormulaR1C1 = "=SUMIF(R[-300]C[-1]:RC[-1],""MX"",R[-300]C[-2]:RC[-2])"
    Selection.Style = "Comma"
    Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
    Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-* ""-""??_-;_-@_-"
   
    Range("H303").Select       'XX銀行轉帳部分(ME5)總數合計
    ActiveCell.FormulaR1C1 = "=SUMIF(R[-301]C[-1]:RC[-1],""ME5"",R[-301]C[-2]:RC[-2])"
    Selection.Style = "Comma"
    Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
    Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-*   "
   
    Range("H304").Select      'XX銀行轉帳部分(MR)總數合計
    ActiveCell.FormulaR1C1 = "=SUMIF(R[-302]C[-1]:RC[-1],""MR"",R[-302]C[-2]:RC[-2])"
    Selection.Style = "Comma"
    Selection.NumberFormatLocal = "_-* #,##0.0_-;-* #,##0.0_-;_-* ""-""??_-;_-@_-"
    Selection.NumberFormatLocal = "_-* #,##0_-;-* #,##0_-;_-*   "
   
    格式如上將不同"MR" "MX" 加總 放於 H304位置 H302位置

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題