ここから本文です

集計用のエクセルにVBAを入れており、 参照先のエクセルを選択したいのですが、 ...

tu_********さん

2018/4/2019:01:42

集計用のエクセルにVBAを入れており、
参照先のエクセルを選択したいのですが、
以下を実行するとエラーが出てしまいます。

エラー:実行エラー13 型が一致しません。

参照先ファイル名が都度違う為、集計用エクセルの

セルD2へ参照したいエクセルのファイル名を貼付しています。

どこをどのように修正したらいいのでしょうか。

Dim wb As Workbook
Dim sh As Worksheet
Dim ファイル As Range

Set ファイル = Range("D2")

Set wb = Workbooks(ファイル).sh("BOOK").Range("A2")
wb.select

閲覧数:
52
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

ban********さん

2018/4/2019:58:44

毎回参照するブックが違うというのならFileDialogオブジェクトで参照するブックを選択する形で指定したほうがいいかもしれません。
そうすれば集計表のブックの保存場所と同じ場所にフォルダを作成してそのフォルダに参照するブックを保存していきその中から参照するブックを選択するというようなこともできるでしょう。


◆参考

Sub Sample()
Dim MyBook As Workbook
With Application.FileDialog(msoFileDialogOpen)
.Title = "参照ブックの指定"
.Filters.Clear
.Filters.Add "Excelブック", "*.xls; *.xlsx; *.xlsm"
If .Show = True Then
Workbooks.Open (.SelectedItems(1))
Set MyBook = ActiveWorkbook
MsgBox MyBook.Name
End If
End With
End Sub

質問した人からのコメント

2018/4/21 00:10:26

詳しく、また、サンプルまで作成していただき、
ありがとうございます。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tai********さん

2018/4/2022:50:07

Dim wb As Workbook
wbをワークブックオブジェクトだと言い張って

Set wb = ~.Range("A2")

とレンジオブジェクトをいれたら誰でも、えっ!
となるのでは?





変数「ファイル」に何を入れようが自由ですがセルを入れるのは違和感ありすぎ、

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる