Excel 无法在VBA中设置范围变量

Excel 无法在VBA中设置范围变量,excel,vba,Excel,Vba,我是VBA的新手,正在尝试学习变量。我有一段简单的代码,可以将变量设置为一个范围: Sub Test() Dim DataRange As Range DataRange = Workbooks("Rooms.csv").Sheets(1).Range("A3", "AK17068") End Sub 当我运行时,我得到运行时错误“91”:未设置对象变量或With block变量。。。。这不是我对Dim语句所做的吗?这是指什么 我看到在某些情况下(我不完全理解什么时候)我应该使

我是VBA的新手,正在尝试学习变量。我有一段简单的代码,可以将变量设置为一个范围:

Sub Test()
    Dim DataRange As Range
    DataRange = Workbooks("Rooms.csv").Sheets(1).Range("A3", "AK17068")
End Sub
当我运行时,我得到
运行时错误“91”:未设置对象变量或With block变量。。。。这不是我对
Dim
语句所做的吗?这是指什么

我看到在某些情况下(我不完全理解什么时候)我应该使用
选项Strict On
,但当我尝试使用此选项时,我得到了一个语法错误(
预期:Base或Compare或Explicit或Private
)。我想我根本就误解了这应该如何工作(AM+C++ DEVE培训)

< P>这里:

Sub Test()
    Dim DataRange As Range
    Set DataRange = Workbooks("Rooms.csv").Sheets(1).Range("A3", "AK17068")
End Sub

对象
变量是用
设置的

您需要设置数据范围

Set DataRange=workbook(“Rooms.csv”).Sheets(1)Range(“A3”、“AK17068”)

使用With语句引用工作簿和工作表,如果您计划设置更多范围,我们可以获得不重复工作簿和工作表名称的优势。见下文:

Option Explicit

Sub Test()

    Dim DataRange As Range, DataRange2 As Range

    With Workbooks("Rooms.csv").Worksheets("Sheet1") '<- Using *With Statement* referring to the workbook & worksheet
        Set DataRange = .Range("A3", "AK17068")
        Set DataRange2 = .Range("A1") '<- For example purpoces
    End With

End Sub 
选项显式
子测试()
变暗数据范围作为范围,数据范围2作为范围
带有工作簿(“Rooms.csv”)。工作表(“Sheet1”)'