Visual Basic Excel函数 - 范围偏移错误

时间:2013-12-11 23:30:34

标签: excel vba

我正在尝试创建一个函数,用于从当前在Excel中选择的单元格中选择偏移量为(1,1)的单元格。

我的子程序如下:

Sub RangeOffset()
    Range(ActiveCell).Offset(RowOffSet:=1, ColumnOffset:=1).Select
End Sub

当我运行该功能时,我只得到一个显示“400”的窗口 - 我无法弄清楚为什么该功能无法正常工作。如果我输入“A1”而不是ActiveCell,那么该功能可以完美运行 - 为什么?

1 个答案:

答案 0 :(得分:4)

Application.ActiveCell 属性是Range对象,而不是字符串文字。

您可以直接使用它:

ActiveCell.Offset(1, 1)

或者调用其Address属性来返回字符串文字。

Range(ActiveCell.Address).Offset(1,1)

后一种技术显然很浪费,虽然存储地址允许您在功能完成后重置用户的活动单元格。