Run-time error '9': Subscript out of range
当我尝试选择一个工作簿,然后选择该工作簿中工作表内的单元格时,出现 VBA 错误 ( )。
this_workbook
是正确的,并且将输出复制并粘贴到 Windows 中Run
会导致工作簿打开。data_worksheet
也是正确的。
this_workbook = ThisWorkbook.Path & "\" & ThisWorkbook.Name
Debug.Print "Workbook name - " & this_workbook & vbCrLf
Workbooks(this_workbook).Sheets(data_worksheet).Range("A1").Select
有人知道我做错了什么吗?
答案1
您不能选择非活动工作表中的范围。
此外,使用调用Workbook(this_workbook)
会使您的代码过于复杂。
尝试用这个替换你的代码(假设 data_worksheet 代表工作表名称或编号):
With Thisworkbook.Sheets(data_worksheet).
.Activate
.Range("A1").select
End with
现在请记住,除了选择特定工作表中的单元格之外,此代码实际上不会执行任何其他操作,因此这个宏并不是特别有用。