質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

15016閲覧

vba 他のブック、シートを参照時のエラー発生の原因について

sehiro

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/04/13 16:40

別フォルダにあるEXCELファイルの内容を一部取り込むマクロ作成時に、
ブックを開いてシートを参照する処理を実施した時、エラーが出るため
エラー無視の処理を追加したら、処理がうまくいきました。

なぜ、エラー発生してしまっているのか不明です。
ブック開いた状態でシートを参照することでエラーになっているのでしょうか。
エラー発生原因についてご意見頂けると助かります。
宜しくお願い致します。

Dim filename As string ' ファイル名
Dim sheetName As string ' シート名
Dim readBook As Workbook ' 読み込み対象ファイル
Dim readSheet As WorkSheet ' 読み込み対象シート

Set readBook = Workbooks.Open(filename) ' ブックを開いて参照
On Error Resume Next 'エラー処理の無視
Set readSheet = readBook.Worksheets("sheetName") ' シートを参照
On Error GoTo 'エラー処理の無視を解除

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/04/13 16:48

エラー内容を質問文に追記ください。
guest

回答2

0

ベストアンサー

例示のコードで特にエラーは出ませんでしたが..
※Excel2013/2016
もちろんWorkbookファイル名、Worksheet名は存在するものをコードで指定した上での話ですが

エラーメッセージが書かれていないのでなんともですが、On Error Resume Nextの位置から推測するに

  • Worksheet名を間違って指定している

かなと
そういうところも含めてkei344さんの「エラー内容を質問文に追記ください。」は大事です

あと他のコード部分で、わざわざ取得したWorksheet参照を使わずにActiveSheetを使っていたりしませんか?

投稿2016/04/13 19:02

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sehiro

2016/04/14 01:00

エラーコード9より、 シート名を指定してなかった事が原因でした。 エラーコードでしっかり確認します。 ありがとうございました。
guest

0

Dim sheetName As string ' シート名

・・・

Set readSheet = readBook.Worksheets("sheetName") ' シートを参照

Worksheets()の引数に指定しているのが 変数sheetNameではなく文字列の"sheetName"だからでは?
「sheetName」というシートが存在しているのであれば問題はないと思いますが、
シート名を変で渡したいのであれば、""で囲う必要はないと思います。。。

投稿2016/04/14 00:59

kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaputaros

2016/04/14 01:00

あらら、タイミングよく解決してしまいましたね^^;
sehiro

2016/04/14 03:32

コメントありがとうございます。何とか、解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問