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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中单元格地址引用相关:
在同一工作表中引用,只需单元格地址即可,即该单元格列行所在位置,列为首行所视英文字母,行为阿拉伯数字;在不同工作表中引用,则需表明所引用的工作表名,格式为“工作表名!单元格地址”,即这一引用是其他工作表中某单元格数据。
参考技术A D1 单元格用 R1C1 格式来描述的话就是 第 1 行 第 4 列,即 R1C4,所以,公式应该写成:=RC[-1]*R1C4本回答被提问者采纳 参考技术B

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

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

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

参考技术C With Sheet1
'或者用:.Cells(2, 2) = .Cells(2, 1) * .Cells(1, 4)
.Range("B2") = .Range("A2") * .Range("D1")
End With
参考技术D =RC[-1]*R1C4追问

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

追答

不会的,你可以试一试

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

追问

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

追答

不客气

在EXCEL中,如何使用VBA设置单元格内指定字符串格式

参考技术A Sub
ss()
Dim
j
As
Long
j
=
InStr(Range("A1"),
"格式")
With
Range("A1")
.Font.FontStyle
=
"正常"
.
Characters
(Start:=j,
Length:=2).Font.FontStyle
=
"加粗"
End
With
End
Sub
这个代码可以让你的格式两个字在任意位置
如果你A1是固定的这几个字,那么一句话搞定
Range("A1")
.Characters(Start:=4,
Length:=2).Font.FontStyle
=
"加粗"
参考技术B 查找所有应用区域中包含“hello”字符串的
sub
test1()
dim
v
as
string
dim
r
as
range
v
=
"hello"
for
each
r
in
activesheet.usedrange
if
instr(1,
r,
v)
<>
0
then
msgbox
r.address
end
if
next
end
sub

以上是关于excel2007 VBA中如何引用指定的单元格地址?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 vba 在 Excel 2007 中找到条件格式单元格的填充颜色值?

EXCEL VBA提取内容到指定位置

字符串中的正确函数(Excel 2007 VBA)

在excel里利用vba怎么对指定单元格,或区域单元格保护

JAVA如何向指定的EXCEL单元格中写入数据??

excel vba如何将选中的不连续单元格赋值到数组