所以我已经在堆栈上阅读了大量关于此的帖子,由于某些原因我无法理解我的问题是什么。我很擅长VBA,所以它很可能非常明显,所以我道歉。尝试使用变量列和row_number创建范围对象。 (这不是实际的项目,但是创建一个简单的例子比我的真实项目要复杂得多。)当我尝试编译时,我得到一个运行时错误'424'对象。有任何想法吗?
Sub test()
Dim testObj As Range
row_number = 3
dataCol = "O"
Set testObj = (dataCol & row_number)
End Sub
答案 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,将文本字符串转换为有效的单元格引用。