Excel VBA - 使用.cells属性错误将范围分配给变体,

时间:2016-01-30 04:05:43

标签: excel vba range cells variant

我在下面提供了以下代码摘录

Dim profileRange as Variant

profileRange = ActiveWorkbook.Worksheets("Scenario").Range(Cells(1, "C"), Cells(5, "C"))

然后我在监视表达式中得到以下内容

Watch Expression: profileRange
Value: Empty
Type: Variant/Empty

它应该得到该表格中分配的数字......从1到5形式

另外,我在运行代码时得到了这个

Error 1004:
Application or Object defined error

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

变化:

profileRange = ActiveWorkbook.Worksheets("Scenario").Range(Cells(1, "C"), Cells(5, "C"))

到此:

With ActiveWorkbook.Worksheets("Scenario")
    profileRange = .Range(.Cells(1, "C"), .Cells(5, "C"))
End with

Cells()是范围对象,需要分配父级。如果不指示父母,它会尝试使用活动工作表,因此范围父母不等于单元格的父母。

通过使用带有.的With块,可以在整个过程中保持一致的父母身份。