2015-11-18 27 views
0

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

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


End Sub 

回答

2

下面是你可以得到参考范围:

Sub test() 
    Dim testObj As Range 

    row_number = 3 
    dataCol = "O" 

    Set testObj = ActiveSheet.Range(dataCol & row_number) 


End Sub 

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

如果需要引用其他工作表的范围内,你可以那样做:

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

想通了。谢谢绅士!不胜感激! – StormsEdge

2

你不能简单地构造一个字符串,并希望它是一个有效的Range object。但是,您可以使用该字符串来创建一个。

Set testObj = Range(dataCol & row_number) 

这可能等同于INDIRECT function工作表图灵一个文本字符串转换为有效的单元格引用。

+0

不要跳过引用,它们很有用,并让你的文章突出。 – user1016274