Excel 将变量设置为值会产生运行时错误1004:应用程序定义的错误或对象定义的错误
我试图在工作表“代码”的A列中获取一个值数组,然后获取一个名称以“价格计划”开头的所有工作表的数组* 我的“开始”按钮位于名为“宏”的工作表中,我正试图从名为“代码”的工作表的“a”列中获取数据Excel 将变量设置为值会产生运行时错误1004:应用程序定义的错误或对象定义的错误,excel,vba,Excel,Vba,我试图在工作表“代码”的A列中获取一个值数组,然后获取一个名称以“价格计划”开头的所有工作表的数组* 我的“开始”按钮位于名为“宏”的工作表中,我正试图从名为“代码”的工作表的“a”列中获取数据 Private Sub Start_Click_Click() Dim wS As Worksheet, LastRow As Long Dim codeArray As Variant Dim lastCell As String Dim curSheet As Wo
Private Sub Start_Click_Click()
Dim wS As Worksheet, LastRow As Long
Dim codeArray As Variant
Dim lastCell As String
Dim curSheet As Worksheet
Dim ArraySheets() As String
Dim x As Variant
Set wS = ThisWorkbook.Worksheets("Codes")
'Here we look in Column A
LastRow = wS.Cells(wS.Rows.Count, "A").End(xlUp).Row
lastCell = "A" & Str(LastRow)
'Here we create array of our row values
ThisWorkbook.Sheets("Codes").Activate
Set codeArray = ActiveSheet.range("A2:" & lastCell).Value
'Getting Array of Price Plan Sheets
For Each curSheet In ActiveWorkbook.Worksheets
If curSheet.Name Like "Price_Plan*" Then
ReDim Preserve ArraySheets(x)
ArraySheets(x) = curSheet.Name
x = x + 1
End If
Next curSheet
End Sub
我在以下位置收到此运行时错误:
Set codeArray = ActiveSheet.range("A2:" & lastCell).Value
删除单词
Set
-.Value
不返回对象
,它返回一个值的二维数组
Str
将一个空格前置为正值,因此您最终得到的是例如A5
,而不是A5
。只需使用“A2:A”&LastRow
。谢谢@braX做了建议的更改,代码现在似乎正在运行。我假设您也做了@GSerg建议的更改,因为他也是正确的。@braX是的,完成了这些更改。干杯