在Excel中的VBA脚本中混合绝对列和相对行引用

时间:2019-02-18 01:56:46

标签: excel vba

我已经在整个互联网上搜寻了高低两档,但是似乎找不到答案。在Excel VBA脚本中,我想从电子表格上单元格的值加载变量。问题是我想将该单元格指定为与使用此VBA公式的单元格在同一行,但具有特定的列。基本上,我希望在脚本中从活动行的列“ C”中加载值。

在特定的单元格中,我将输入公式= myfunc()

在myfunc()内:

如果我使用varName = ActiveCell.Offset(0, -7).Value2,我将得到相对的行和列。

如果我使用varName = ActiveCell.Cells(1, 3).Value2,则会得到绝对的行和列。

我想将包含“ = myfunc()”的当前行的“ C”列(aka 3)中的单元格的值加载到varName中,而不管包含此公式的单元格的行或列。

1 个答案:

答案 0 :(得分:2)

首先,请勿使用ActiveCell-不一定是带有公式的单元格

类似的东西:

varName = Application.Caller.EntireRow.Cells(3).Value 

应该工作。或者,您可以使用Application.ThisCell代替Application.Caller