vbaについての質問です。\u0026quot;base\u0026quot;というブックを開き、そのSheet1をDimでセットしたいのですがWorkbooks.Open \u0026quot;baseのフルパス\u0026quot;Dim base as WorkbookSet base = Workbooks(\u0026quot;baseのフルパス\u0026quot;).Sheets(\u0026quot;Sheet1\u0026quot;)これだとブック自体は開けるのに、三行目でエラーが出てしまいます。ブックのフルパスは1行目からコピーしているので間違いようがないです。なぜでしょうか?エラーメッセージは「実行時エラー 9インデックスが有効範囲にありません。」です。

1件の回答

回答を書く

1140453

2026-02-14 16:20

+ フォロー

ミスが二つあります。

Dim base As Workbook

としながら、

Set base = Workbooks().Sheets()

でシートまで指定している。Workbooks() で終わらないとです。

もう一つ、Workbooks(ここに入るの).は、フルパスではなくブック名です。



既出の回答以外に、こういう書き方もあります。



Dim base As Worksheet

Workbooks.Open (\u0026quot;フルパス\u0026quot;)

Set base = ActiveWorkbook.Sheets(\u0026quot;Sheet1\u0026quot;)



これなら base をシートとして扱えます。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有