Excel VBA

[Excel VBA]シートから関連ファイルをカンタンに開く方法(時間短縮まちがいなし)

2021年11月18日

 

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

 

 

困ってます

今見ているブックから関連しているファイルを見たいけど、カンタンに見れる方法ないかな。

 

このような疑問にお答えします。

 

ロンピー
こんにちはロンピーです。

 

関連ファイルを探しに行くのって、いろんなフォルダ開かないといけないから面倒ですよね

 

今回の記事ではセルをダブルクリックするだけで、関連ファイルを開くことができるので、知っておくと大変便利です

 

それでは早速解説をはじめましょう。

 

 

 

知っておくことは以下の3点

どこにVBAを記述するか。

どの範囲をダブルクリックするか。

ファイルの開き方。

 

後でサンプルコードを記載しますので、そちらを参考にすれば分かりやすいですが、

とりあえず説明を続けます。

 

どこにVBAを記述するか。

 

VBAの記述先は標準モジュールではなく、Microsoft Excel Objectsの対象になるシートに記述します

 

詳細は過去の記事を参考にして下さい。

⇒記述場所はこちらから

 

 

どの範囲でダブルクリックするか

 

どの範囲をダブルクリックするとファイルを開くかIf文で示してあげましょう

どこのセルをダブルクリックしてもマクロが動き出すと困ります。

例えば、商品一覧があるシートから商品コードをダブルクリックすることで、対象の商品台帳が開いたりすると便利です。

 

記述方法例

If Target.Row>=3 and Target.Column=1 Then

       処理内容

End If

これで、3行目以上で1列目のセルをダブルクリックしたときというように範囲を絞ることができます。

どの範囲をダブルクリックするとマクロが動き出すか、指定してあげましょう。

 

ファイルの開き方

 

次に対象のファイル開きましょう。

 

これは、過去の記事にあるOpenメソッドを使用します。

⇒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

 

フォルダにあるファイル名を変数で取得することで、ダブルクリックした商品コードのファイルを開くことができたのではないでしょうか。

これで、ファイルを手動で開きに行くわずらざしさが解消されます。

ぜひお試しください。

 

 

 

-Excel VBA
-,

Copyright© Ronpeee blog , 2023 All Rights Reserved.