「覚え間違い」を教えてください!

以下のプログラム実行後に特定ファイルをActiveにするにはどうしたらよいでしょうか?

Dim f1 As string,f2 As string
Dim ツール As Worksheet

f1 = ツール.Range("D7")&ツール.Range("E7")
Workbooks.Open Filename:f1,Password:="1234"
f2 = ツール.Range("D11")&ツール.Range("E10")
Workbooks.Open Filename:f2,Password:="5678"

※D7は,C:\aaa\bbb\
D11はC:\aaa\ccc\
E7はqqq.xls
E10はwww.xls

不明点あれば補足します。
よろしくお願いいたします。

A 回答 (3件)

qqq.xlsをActiveにしたいということですね。


以下のようになります。
Workbooks(”qqq.xls").Activate と直接かければ1行で済みますが、
事前にそのブック名を記憶しておく必要があります。
--------------------------------------------
Dim b1 As String '追加
Dim f1 As String, f2 As String
Dim ツール As Worksheet
Set ツール = Worksheets("ツール")
f1 = ツール.Range("D7") & ツール.Range("E7")
b1 = ツール.Range("E7") '追加
Workbooks.Open Filename:=f1, Password:="1234"

f2 = ツール.Range("D11") & ツール.Range("E10")
Workbooks.Open Filename:=f2, Password:="5678"
Workbooks(b1).Activate '追加
    • good
    • 0
この回答へのお礼

ご対応頂きありがとうございました!!

お礼日時:2018/08/28 21:21

Sub Test1_1()


Dim file1 As String, file2 As String
Dim B1 As Workbook, B2 As Workbook
Dim shTool As Worksheet

Set shTool = Worksheets("ツール")
With shTool
 file1 = .Range("D7").Value & .Range("E7").Value
 file2 = .Range("D11").Value & .Range("E10").Value
End With
'ファイルの存在のチェック
If Dir(file1) = "" Then MsgBox file1 & "を確認してください。", vbExclamation: Exit Sub
If Dir(file2) = "" Then MsgBox file2 & "を確認してください。", vbExclamation: Exit Sub

Set B1 = Workbooks.Open(Filename:=file1, Password:="1234")
Set B2 = Workbooks.Open(Filename:=file2, Password:="5678")

'それぞれのブックのアクティブ化(不要なものは削除してください)
B1.Activate '最初のブックのアクティブ化
Stop
B2.Activate '2番目のブックのアクティブ化
Stop
ThisWorkbook.Activate 'このブックのアクティブ化
End Sub
    • good
    • 1
この回答へのお礼

ご対応頂きありがとうございました!!

お礼日時:2018/08/28 21:22

f1、f2のファイルを開いた後に、f1のファイルをActiveにしたいということでしたら、


Workbooks(Dir(f1)).Activate
でActiveにできると思います。
    • good
    • 0
この回答へのお礼

ご対応頂きありがとうございました!!

お礼日時:2018/08/28 21:21

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


おすすめ情報