如何利用VBA代碼在單元格中錄入公式


今日給大家推出VBA代碼方案的第十八講:如何利用VBA代碼在單元格中錄入公式.我們知道,在EXCEL中,錄入公式是很平常的事,但在VBA中錄入公式要麻煩些,要借助於Range對象的Formula屬性才可以。下面用分幾種途徑來解決:

一:使用Range對象的Formula屬性可以在單元格區域中寫入公式,應用於Range對象的Formula屬性返回或設置某單元格樣式表示的Range對象。

其語法如下:

expression.Formula

參數expression是必需的,返回一個Range對象。

實例:如下面的代碼所示。

Sub MyrngFormula()

Sheet1.Range("C2:C10").Formula = "=SUM(A2+B2)"

End Sub

代碼解析:

上述代碼中利用了.Formula = "=SUM(A2+B2)",我們把句話轉換為EXCEL中的操作就是相當於在C2中錄入公式= SUM(A2+B2),然后在C3,C4,C5,C6,C7,C8,C9,C10中復制上面的公式也就是說C3:= SUM(A3+B3); C4:= SUM(A4+B4); C5:= SUM(A5+B5); C6:= SUM(A6+B6); C7:= SUM(A7+B7); C8:= SUM(A8+B8); C9:= SUM(A9+B9); C10:= SUM(A10+B10);也就是說相當於,選中單元格,下拉的操作。

我們看下面的代碼截圖:

 

代碼運行前:

 

運行后:

二:還可以使用FormulaR1C1屬性返回或設置以R1C1-樣式符號表示的公式,如下面的代碼所示。

Sub MyrngFormulaRC()

Sheet2.Range("C1:C10").FormulaR1C1 = "=SUM(RC[-2]+RC[-1])"

End Sub

三:如果需要在單元格中寫入數組公式則使用Range對象的FormulaArray屬性。如下面的代碼所示。

Sub MyRngFormulaArray()

Sheet3.Range("C1").FormulaArray = "=A1:A2*B1:B2"

End Sub

Range對象的FormulaArray屬性返回或設置單元格區域的數組公式。

好了,今日的代碼方案就講到這里。

今日內容回向:

1 expression.Formula expression.FormulaR1C1 expression.FormulaArray 意義是什么

2 上述的三個屬性的返回值是什么?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM