本サイトはエクセル2019で動作確認を行なっています。

今見ているブックから関連しているファイルを見たいけど、カンタンに見れる方法ないかな。
このような疑問にお答えします。
関連ファイルを探しに行くのって、いろんなフォルダ開かないといけないから面倒ですよね。
今回の記事ではセルをダブルクリックするだけで、関連ファイルを開くことができるので、知っておくと大変便利です。
それでは早速解説をはじめましょう。
知っておくことは以下の3点
どこにVBAを記述するか。
どの範囲をダブルクリックするか。
ファイルの開き方。
後でサンプルコードを記載しますので、そちらを参考にすれば分かりやすいですが、
とりあえず説明を続けます。
どこにVBAを記述するか。
VBAの記述先は標準モジュールではなく、Microsoft Excel Objectsの対象になるシートに記述します。
詳細は過去の記事を参考にして下さい。
どの範囲でダブルクリックするか
どの範囲をダブルクリックするとファイルを開くかIf文で示してあげましょう。
どこのセルをダブルクリックしてもマクロが動き出すと困ります。
例えば、商品一覧があるシートから商品コードをダブルクリックすることで、対象の商品台帳が開いたりすると便利です。
記述方法例
If Target.Row>=3 and Target.Column=1 Then
処理内容
End If
これで、3行目以上で1列目のセルをダブルクリックしたときというように範囲を絞ることができます。
どの範囲をダブルクリックするとマクロが動き出すか、指定してあげましょう。
ファイルの開き方
次に対象のファイル開きましょう。
これは、過去の記事にあるOpenメソッドを使用します。
Openメソッドを上記で範囲指定した中に記述することで希望のファイルを開くことができます。
この際、注意しておくことは、フォルダ内にファイルが複数ありそこから希望のファイルを開きたい場合は、ファイル名を変数で取得する必要があります。


条件
C:\Users\Sampleの中にA0001.xlsx B0002.xlsx C0003.xlsの3つの商品在庫ファイルがあるとします。
下図の商品コードをダブルクリックすることで、Sampleフォルダ内からダブルクリックしたファイルを開きます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim ファイル名 As String If Target.Row >= 3 And Target.Column = 1 Then ファイル名 = Target.Value Workbooks.Open Filename:="C:\Users\Sample\" & ファイル名 & ".xlsx" End If End Sub
フォルダにあるファイル名を変数で取得することで、ダブルクリックした商品コードのファイルを開くことができたのではないでしょうか。
これで、ファイルを手動で開きに行くわずらざしさが解消されます。
ぜひお試しください。