-1
我遇到了一個我試圖製作的宏的問題。我有一個電子表格,我關心的是列A,Q,R,S和T.首先,我在列Q中選擇一行作爲宏的初始活動單元。我把列Q變成0.然後我在列A中加上一個總和公式,即我所在行的總和R,S和T. 然後,我複製並粘貼列A單元格上的值,以便總和爲值。我使列T =列A.然後我把0放在列R和S.我如何讓excel宏在活動行中的單元格上運行?
下面是使用記錄宏製作的初始宏,但它只適用於我記錄宏的行。我希望宏是這樣的,當我在任何行上執行Ctrl-g時,它都會爲該行運行。
Sub Cashflow()
'
' Keyboard Shortcut: Ctrl+g
'
ActiveCell.FormulaR1C1 = "0"
Range("A74").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[17]:RC[19])"
Range("A74").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A74").Select
Application.CutCopyMode = False
Range("T74").Select
ActiveCell.FormulaR1C1 = "=RC[-19]"
Range("R74").Select
ActiveCell.FormulaR1C1 = "0"
Range("S74").Select
ActiveCell.FormulaR1C1 = "0"
Range("T74").Select
End Sub
這是我做過什麼,試圖修復它,但它不工作:
Sub Cashflow()
'
' Keyboard Shortcut: Ctrl+g
'
ActiveCell.FormulaR1C1 = "0"
Range(Cells(Selection.Row, 1)).Select
ActiveCell.FormulaR1C1 = "=SUM(RC[17]:RC[19])"
Range(Cells(Selection.Row, 1)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range(Cells(Selection.Row, 1)).Select
Application.CutCopyMode = False
Range(Cells(Selection.Row, 20)).Select
ActiveCell.FormulaR1C1 = "=RC[-19]"
Range(Cells(Selection.Row, 18)).Select
ActiveCell.FormulaR1C1 = "0"
Range(Cells(Selection.Row, 19))
ActiveCell.FormulaR1C1 = "0"
Range(Cells(Selection.Row, 20)).Select
End Sub
任何想法?
謝謝!我其實只是想出瞭如何解決我的問題,但是你的代碼更短,更乾淨。 *編輯*實際上等待上面的代碼似乎沒有得到正確的總和或零中間列,但謝謝反正! – User