电子表格 VBA 如何用VBA给单元格插入公式?

如题所述

1楼的方法有可取之处
不过不直接
如果你的公式是固定的.那么就用1楼的第1个: range("B14").Formula="=SUM(B1:F3)"
如果想用相对的,就是这样了,
range("B14").FormulaR1C1="sum(R1C:R3C[4])"
说明:
RC分表代表行列,后面的数字代表了相应的行列号,如果没加" [ ]" ,就是绝对引用,如果加了"[ ]"就是相对引用了. 方向由正负号控制
再举个例子:
比如: 当前单元格值总是等于它左边三个单元格的和.那么公式为:
activecell.FormulaR1C1="=sum(RC[-3]:RC[-1])"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-17
给单元格插入公式,例如:
range("B14").Formula="=SUM(B1:F3)"
给单元格插入数组公式,例如:
range("A1").FormulaArray="=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A:$A=" & chr(34) & "张三" & chr(34) & ",ROW(Sheet1!$A:$A),65536),ROW()))"追问

公式如何用相对地址呢?比如我VBA代码将公式插入到某个单元格就在这单元格的左边的单元格取数据之类。

追答

在当前工作表插入一个命令按钮,并编程:
Private Sub CommandButton1_Click()
Dim rag As Range
Set rag = Selection
rag.FormulaR1C1 = "=R" & rag.Row & "C" & rag.Column - 1
End Sub