创建范围对象错误

时间:2015-11-18 12:28:55

标签: excel vba excel-vba

所以我已经在堆栈上阅读了大量关于此的帖子,由于某些原因我无法理解我的问题是什么。我很擅长VBA,所以它很可能非常明显,所以我道歉。尝试使用变量列和row_number创建范围对象。 (这不是实际的项目,但是创建一个简单的例子比我的真实项目要复杂得多。)当我尝试编译时,我得到一个运行时错误'424'对象。有任何想法吗?

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


End Sub

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

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

Set testObj = Range(dataCol & row_number)

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