我犯了一个巨大的错误,试图防范某些东西并意外地保存了工作代码并且不知道我做错了什么!
以下是相关代码:
Option Base 1
Dim userRange() as Range
Dim sheetCount as Integer
...(代码确定" sheetCount"由用户在此定义)...
ReDim userRange(sheetCount)
Dim r As Integer
For r = 1 To sheetCount
Sheets(r).Select
Debug.Print VBA.TypeName(userRange)
Debug.Print VBA.TypeName(userRange())
Debug.Print VBA.TypeName(userRange(r))
Set userRange(r) = Application.InputBox( _
Prompt:="Select a range to import.", _
Title:="Select range # " & r, _
Default:=currentsheet.Range("A1").Address, _
Type:=8)
抛出错误的行是设置userRange(r)... 为什么VBA不会将userRange(r)识别为对象?立即窗口打印:
Object()
Object()
Nothing
请帮忙!提前谢谢!
JSR
答案 0 :(得分:0)
问题不在于userRange
。您没有名为currentSheet
的变量。由于您使用了Sheets(r).Select
,因此您可能会使用对象ActiveSheet
。我建议始终使用Option Explicit
。