標題:
有關SUMIF VBA 寫法?
[打印本頁]
作者:
lp986749
時間:
2015-2-7 21:49
標題:
有關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如何寫?
作者:
rouber590324
時間:
2015-2-9 10:37
如下
X = Sheet1.[A65536].End(xlUp).Row+1
Sheet1.Cells(X, 8).Select 'XX銀行轉帳部分(M)總數合計 第2~399列
ActiveCell.FormulaR1C1 = "=SUMIF(R[-398]C[-1]:RC[-1],""M"",R[-398]C[-2]:RC[-2])"
作者:
lp986749
時間:
2015-2-9 19:28
感激撥空答覆此問題
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 來表示嗎?
作者:
rouber590324
時間:
2015-2-13 11:56
DEAR SIR
試試如下
Sub AA()
X = Sheet1.[A65536].End(xlUp).Row + 1
Range("H1").Select 'XX銀行轉帳部分(M)總數合計 第2~399列
ActiveCell.FormulaR1C1 = "=SUMIF(R[-" & 65538 - X & "]C[-1]:RC[-1],""M"",R[-" & 65538 - X & "]C[-2]:RC[-2])"
End Sub
作者:
stillfish00
時間:
2015-2-13 13:40
本帖最後由 stillfish00 於 2015-2-13 13:57 編輯
回復
3#
lp986749
你的 "=SUMIF(R[-398]C[-1]:RC[-1],""M"",R[-398]C[-2]:RC[-2])"
R[-398] 既然指的是從第2列開始,就用絕對位址 R2 就好,不要用相對的
也就是整個公式改為 "=SUMIF(R2C[-1]:RC[-1],""M"",R2C[-2]:RC[-2])"
至於決定合計的位置,要怎麼找到最後一筆,
要根據你的檔案哪一欄一定都有資料去找比較好,附檔會比較清楚點
另外 你1樓的公式其實是第2~400列,不是2~399,附檔會比較清楚點
作者:
lp986749
時間:
2015-2-13 22:21
區別碼 銀行碼 保留 帳號 交易日期 交易金額(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位置
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)