プロが教える店舗&オフィスのセキュリティ対策術

マクロ初心者です。
エクセルのマクロでマクロボタンを押したら 別のブックのシートを呼び出すマクロを
作ったのですが、後ろに隠れてしまうのでアクティブにする為 下記のような記述に変えましたが、エラーになってしまいます。(実行時エラー”9”インデックスが有効範囲にありません)
エラーメッセージは出ますが、呼び出したシートはアクティブになっています。

一体何がエラーなのかよくわからなくて質問しました。
マクロド素人なので わかりやすく説明頂ければありがたいです。


Sub 顧客注文データを開く()
'
' 顧客注文データを開く Macro
'

'
ChDir "C:\Users\Guest\Desktop\顧客注文データ"
Workbooks.Open Filename:="C:\Users\Guest\Desktop\顧客注文データ\" & Range("B2").Value & ".xlsx"

Windows("顧客注文データ.xlsm").Activate  ←←ここがエラーみたいです。
End Sub

A 回答 (3件)

ブックを開くだけなら「ChDir "C:\Users\Guest\Desktop\顧客注文データ"」の部分は不要では?



どうせならそれを利用し、変数myPathを「"C:\Users\Guest\Desktop\顧客注文データ\"」として

Sub 顧客注文データを開く()
Dim myPath As String
myPath = "C:\Users\Guest\Desktop\顧客注文データ\"
Workbooks.Open Filename:=myPath & Range("B2").Value & ".xlsx"
Workbooks("顧客注文データ.xlsm").Activate
End Sub
    • good
    • 0

「←←ここがエラーみたいです。

」のところを次のようにしてみてはいかがですか?

ThisWorkbook.Activate
    • good
    • 0

Dim orderBook As Workbook


Set orderBook = Workbooks.Open(Filename:="C:\Users\Guest\Desktop\顧客注文データ\" & Range("B2").Value & ".xlsx")

orderBook.Worksheets(1).Activate
    • good
    • 0
この回答へのお礼

回答ありがとうございます。やってみましたが、次は構文エラーとなってしまいます( ノД`)


Sub 顧客注文データを開く()
'
' 顧客注文データを開く Macro
'

ChDir "C:\Users\Guest\Desktop\顧客注文データ"
Dim orderBook As Workbook Set orderBook = ←これがエラーです
Workbooks.Open Filename:="C:\Users\Guest\Desktop\顧客注文データ\" & Range("B2").Value & ".xlsx"
orderBook.Worksheets("在庫管理&注文表.xlsm").Activate
End Sub

どこが間違ってるのでしょうか?

お礼日時:2017/07/06 18:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!