我想获取相邻的单元格值以在VBA中进行计算。
通常很容易获得当前单元格(例如H19)的左侧单元格,如下所示:
=H18
Run Code Online (Sandbox Code Playgroud)
如果我将此单元格复制到其他单元格,则每个单元格都将更改为适当的单元格编号。
但是在VBA代码中,我不确定是否正确获取左单元格的值。
Public Function LeftCell()
LeftCell = ActiveCell.Offset(0, -1).Value
End Function
Run Code Online (Sandbox Code Playgroud)
我不确定这是正确的,我测试了将此单元格复制到其他单元格,但是每个结果都不会自动更改。
我单击了菜单上的各种计算按钮,将“计算”更改为“自动”,但是没有任何计算发生。
我唯一可以做的方法是手动选择每个单元格,然后按Enter。
有什么方法可以计算所有像元值吗?否则,“活动单元格”是指“按光标选择的单元格”?
感谢您的帮助。
按照@Chris Harper的建议添加一个公式将起作用,但是您也可以只在单元格中编写该公式。
而不是ActiveCell,您需要调用公式的单元格。
Public Function LeftCell()
LeftCell = Application.Caller.Offset(, -1).Value
End Function
Run Code Online (Sandbox Code Playgroud)
编辑:如果您希望单元格在更改值时进行更新,则将其添加Application.Volatile True
为函数的第一行。
https://msdn.microsoft.com/zh-CN/library/office/ff193687.aspx
归档时间: |
|
查看次数: |
6656 次 |
最近记录: |