2013-12-11 41 views
1

我試圖創建一個函數,它將從當前在Excel中選擇的單元格中選擇一個偏移量爲(1,1)的單元格。Visual Basic Excel函數 - 範圍偏移量錯誤

我的子程序如下:

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

當我運行的功能,我只得到一個顯示「400」的窗口 - 我不明白爲什麼按預期的功能不起作用。如果我要放入「A1」,而不是ActiveCell,那麼該功能完美地工作 - 爲什麼?

回答

4

Application.ActiveCell屬性是一個Range對象,而不是字符串文字。

您可以直接用它作爲這樣的:

ActiveCell.Offset(1, 1) 

或者改爲調用其Address屬性返回一個字符串。

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

後一種技術顯然很浪費,儘管存儲地址允許您在功能完成後重置用戶的活動單元。

相關問題