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 に答える