创build一个范围对象错误

所以我已经阅读了大量关于这个的堆栈的post,由于某种原因,我不明白我的问题是什么。 我是新来的优秀的VBA所以这可能是非常明显的,所以我很抱歉。 尝试使用可变列和row_number创build一个范围对象。 (这不是真正的项目,但创build一个简单的例子比我的真实项目less得多)。当我尝试编译时,我得到一个运行时错误“424”对象。 有任何想法吗?

Sub test() Dim testObj As Range row_number = 3 dataCol = "O" Set testObj = (dataCol & row_number) End Sub 

以下是你如何得到范围的参考:

 Sub test() Dim testObj As Range row_number = 3 dataCol = "O" Set testObj = ActiveSheet.Range(dataCol & row_number) End Sub 

这将创build对当前活动工作表中单元格O3的引用。

如果你需要参考其他工作表的范围,你可以这样做:

 Set testObj = Worksheets("sheet_name").Range(dataCol & row_number) 

你不能简单地构造一个string,并期望它是一个有效的Range对象 。 但是,您可以使用该string来创build一个。

 Set testObj = Range(dataCol & row_number) 

这可以等同于工作表上的INDIRECT函数 ,将文本string转换为有效的单元格引用。