[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『インデックスが有効範囲にありません』(vo)
いつもすいません!! 下記のように書くとSet spの所で題名の通りのエラーが出るのはなぜでしょう?
Sub Macro1()
Workbooks.Open Filename:="C:\Desktop\スポーツ.xlsx", ReadOnly:=True Workbooks.Open Filename:="C:\Desktop\やさい.xlsx", ReadOnly:=True
Dim sp As Worksheet
Dim bj As Worksheet
Set sp = Worksheets("サッカー")
Set bj = Worksheets("きゅうり")
End Sub
< 使用 Excel:unknown、使用 OS:unknown >
>>Set sp = Worksheets("サッカー")
どのブックのシートかという指定がない場合、アクティブブックのシートとみなされます。 このコード実行時点では アクティブブックは やさい.xlsx ですね。 やさい.xlsxには サッカーというシートはないのでエラーになります。
各ブックのブックオブジェクトを特段、変数に入れておく必要がなければ、以下のようなコードになります。 個人的には、Sample3の記述が好みですね。
Sub Sample1() Dim sp As Worksheet Dim bj As Worksheet
Workbooks.Open Filename:="C:\Desktop\スポーツ.xlsx", ReadOnly:=True Set sp = Worksheets("サッカー")
Workbooks.Open Filename:="C:\Desktop\やさい.xlsx", ReadOnly:=True Set bj = Worksheets("きゅうり")
End Sub
Sub Sample2() Dim sp As Worksheet Dim bj As Worksheet
Workbooks.Open Filename:="C:\Desktop\スポーツ.xlsx", ReadOnly:=True Workbooks.Open Filename:="C:\Desktop\やさい.xlsx", ReadOnly:=True
Set sp = Workbooks("スポーツ.xlsx").Worksheets("サッカー") Set bj = Workbooks("やさい.xlsx").Worksheets("きゅうり")
End Sub
Sub Sample3() Dim sp As Worksheet Dim bj As Worksheet
Set sp = Workbooks.Open(Filename:="C:\Desktop\スポーツ.xlsx", ReadOnly:=True).Worksheets("サッカー") Set bj = Workbooks.Open(Filename:="C:\Desktop\やさい.xlsx", ReadOnly:=True).Worksheets("きゅうり")
End Sub
(β) 2017/01/14(土) 07:22
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.