web-dev-qa-db-ja.com

パスと名前でワークブックを参照-VBA

_Sub Quack()

Dim LookupWB As Workbook
Set LookupWB = Application.Workbooks("C:\Users\user1\Desktop\Book1.xlsx")

End Sub
_

このコードはエラーを出します:

添え字が範囲外です「セット」行が原因だと思います。パスでブックを正しく参照するにはどうすればよいですか?

Set LookupWB = Application.Workbooks("Book1.xlsx")(フルパスなし)と書くと、完全に機能します。どうもありがとう!

7
Sam

最初にOpen関数を使用する必要があると思います。

Workbooks.Open Filename:="C:\Users\user1\Desktop\Book1.xlsx"
Set LookupWB = Application.Workbooks("Book1.xlsx")
14
thornomad

ブックがすでに開いている場合は、パスを含める必要はありません。そのため、Set LookupWB = Application.Workbooks("Book1.xlsx")が機能します。

ブックが閉じている場合は、Open関数を含める必要があります(@thornomadの回答を参照)。

0
S M Perron