excel2007 VBA中如何引用指定的单元格地址?

A列为销量,D1为单价。想要在B列金额中写入A列乘以D1单元格的公式
例如:B2中写入公式 =A2*$D$1
请问公式中如何引用指定的单元格地址
另外: =RC[-1]*D1 这个公式为什么不成立? 运行公式就变成了 =A1* ’D1' 把D1给加单引号呢?

以引用单元格A1为例,VBA中有如下几种方式:
sub main()
msgbox cells(1,1)'第一种表示A1的方法
msgbox cells(1,"A")'第二种表示A1的方法
msgbox range("A1")'第三种表示A1的方法
end sub

关于Excel中单元格地址引用相关:
在同一工作表中引用,只需单元格地址即可,即该单元格列行所在位置,列为首行所视英文字母,行为阿拉伯数字;在不同工作表中引用,则需表明所引用的工作表名,格式为“工作表名!单元格地址”,即这一引用是其他工作表中某单元格数据。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-21
D1 单元格用 R1C1 格式来描述的话就是 第 1 行 第 4 列,即 R1C4,所以,公式应该写成:=RC[-1]*R1C4本回答被提问者采纳
第2个回答  2015-10-07

引用单元格的方法比较多,列举如下,

1. 引用单元格A1
[A1] 或 Range("A1") 或 cells(1,1)

2. 引用连续单元格A1:B3

第3个回答  2014-07-21
With Sheet1
'或者用:.Cells(2, 2) = .Cells(2, 1) * .Cells(1, 4)
.Range("B2") = .Range("A2") * .Range("D1")
End With
第4个回答  2014-07-21
=RC[-1]*R1C4追问

这样写只是相对引用,如果用VBA运行到第二行就变成了A3*D2了

追答

不会的,你可以试一试

Sub test()
For i = 2 To 5
Sheet1.Cells(i, 2) = "=RC[-1]*R1C4"
Next i
End Sub

追问

恩恩,已经明白了。还是谢谢你!

追答

不客气

相似回答