EXCEL VBA

本人想在一個 activecell "A11" 內儲存一條公式, 應如何寫法呢?

首先如果 "A11" 是 "A1" 到 "A10" 的總和

寫法應是 activecell.value = "=SUM(R[-10]C:R[-1]C)"

但如果行數會隨時變動, 所以我會用 rownr 作為行數的變數

寫法會是 activecell.value = "=SUM(R[-" & rownr & "]C:R[-1]C)"

最後我要將這條公式再要去減一個變數 ttlpcs

理論上寫法應是 activecell.value = "=SUM(R[-" & rownr & "]C:R[-1]C)" - ttlpcs

但卻不能, 請問什麼原因呢, 什麼方出錯

更新:

如執行 activecell.value = "=SUM(R[-" & rownr & "]C:R[-1]C)" - ttlpcs 這公式時, 會出現型態不符合

1 個解答

評分
  • joe
    Lv 7
    1 十年前
    最愛解答

    若想將 activecell 之上的 cells 加總, 我會用

    ActiveCell.FormulaR1C1 = "=SUM(R[-" & ActiveCell.Row - 1 & "]C:R[-1]C)"

    要減去 ttlpcs, 可以寫成

    ActiveCell.FormulaR1C1 = "=SUM(R[-" & ActiveCell.Row - 1 & "]C:R[-1]C) -" & ttlpcs

    請試一試.

還有問題嗎?立即提問即可得到解答。