0
 Dim wb As Workbook
    Set wb = Application.Workbooks("Book2.xlsx")
    wb.Activate
    wb.Sheets("Sheet1").Range("A1").Select 

Ps:上面的代码有时可以正常工作,大多数时候会抛出异常

查看此链接 Run Time Error '1004': Select method of Range Class failed using ThisWorkbook我做了与上面相同的操作仍然失败

4

2 回答 2

0

尝试先激活工作表,然后使用选择,但首先你真的需要选择吗?这是您可以调用的最昂贵的方法(有时仍需要)

如果您只需要在单元格中读/写一个值,您可以这样做

Dim wkb as Workbook
Dim wks as Worksheet

wkb = Application.Workbooks("Book2.xlsx")
wks = wb.Sheets("Sheet1")

System.Windows.Forms.MessageBox.Show(wks.Range("A1").Value2)
' or use this code for selecting
' With wks
'   .Activate()  ' not really sure you need it, test it
'   .Range("A1").Select
' End With  
于 2017-09-07T12:13:51.243 回答
0

如果您想引用不同工作表中的范围,则不能使用 select 方法。你应该写你的代码如下

Application.Goto Sheets(1).Range("A1")
于 2017-09-08T14:30:07.520 回答