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

我正在尝试创build一个函数,它将从当前在Excel中select的单元格的偏移量(1,1)select一个单元格。

我的子程序如下:

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

当我运行该function时,我只能看到一个显示“400”的窗口 – 我无法弄清楚为什么函数不能按预期工作。 如果我要放入“A1”,而不是ActiveCell,那么这个function是完美的 – 为什么?

Application.ActiveCell属性是一个Range对象,而不是string文字。

您可以直接使用它:

 ActiveCell.Offset(1, 1) 

或者改为调用其Address属性来返回string文字。

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

后一种技术显然是浪费,尽pipe存储地址允许您在function完成后重置用户的活动单元格。