あなたはエクセルのリストから、別のフォルダに入ってるファイルを開きたいと思ったことはありませんか?
エクセルの管理表とデータが入っている場所が別になっていると、一旦管理表を見て、それからデータのフォルダを開いて、検索して、ファイルを開いて・・・と、かなり面倒です。
エクセルのリストから、目的のファイルを開けたら便利ですよね。
そんなときはエクセルVBAで、ボタンを押したらファイルが開くようにしておけば簡単です。
今回は「Excelで書類番号から自動検索してファイルを開く方法|デスクトップのフォルダ対応版VBA」を紹介します。
Excelで書類番号から自動検索してファイルを開く方法
Excelで書類番号から自動検索してファイルを開く方法です。
最初にデスクトップに「データ」フォルダを保存しておきます。
ファイル名は書類番号です。

次にエクセルのリストを準備します。A列に書類番号が入っています。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

2.「新規作成」をクリック

3.コード入力画面が開く

4.コードを入力
コードを入力します。
アクティブセルのファイルを、データフォルダから探して開く、という内容です。

5.ボタンができた
ボタンができた

6.A2セルをクリック →ボタンを押す
A2セルをクリックし、アクティブになったら、ボタンを押します。

7.ファイルが開いた
AA00001のファイルが開きました。

これでファイルが開くのが簡単になりましたね!
実際の使用例-1
実際は、ファイル名は番号だけでなく「AA00001_仕様書」のように、文字も含まれていることが多いです。

このようにファイル名が付けられている場合、「番号+文字」なので、前方の番号が一致しているファイルを開けるようにしておいた方が、より便利です。
こちらが前方一致で検索するのを反映したコードです。

ボタンを押したら、このようにファイルが開きました!

実際の使用例-2
次に、リストの番号をクリックしたら、開く方が便利ですよね。
その場合の例を紹介します。
「alt」+「f12」を押す →「Sheet1」をクリック

コードを入力
A列のセルをクリックしたら、ファイルを検索して開く、という内容です。

コードを入力後、A2セルをクリック

ファイルが開きました。

実際の使用例-3
実際はセルをダブルクリックしたら開いた方が良かったりします。
ちょっとセルをさわっただけでファイルが開いてしまったら、仕事がしづらい場面もありますよね。
その場合のコードです。
実際の使用例-2と同じように、コードを入力します。

これでやれば、ダブルクリック時にファイルが開けます。

ファイルが開きました。

まとめ
Excelで書類番号から自動検索してファイルを開く方法です。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた
6.A2セルをクリック →ボタンを押す
7.ファイルが開いた
これでフォルダを行ったり来たりしなくて良くなりました!
最後に今回使ったコードです。
Dim ファイル名 As String
Dim フルパス As String
Dim フォルダパス As String
' デスクトップの「データ」フォルダパス
フォルダパス = Environ("USERPROFILE") & "\Desktop\データ\"
' アクティブセルの文字列を取得
ファイル名 = ActiveCell.Value
' フルパスを作成(拡張子も必要ならここで指定)
' 例: ".xlsx" の場合
フルパス = フォルダパス & ファイル名 & ".xlsx"
' ファイルが存在するかチェック
If Dir(フルパス) <> "" Then
Workbooks.Open フルパス
Else
MsgBox "ファイルが見つかりません: " & フルパス, vbExclamation
End If
End Sub

コメント