エクセルVBAでボタンからファイルを開く!ファイル名を指定する

エクセルで、ボタンをクリックして指定したファイルが開くと、ファイルを探して開く手間が省けます、こんな便利なことはありません。ここでは、エクセルVBAで、シートにボタンを作成して、そのボタンをクリックすると、指定したファイルが開く方法を紹介しています。ただし、指定したファイルが、存在しなかった場合は、エラーになってしまいます。そのような時は、VBAでエラーを回避します。ファイルと複数の別ファイルを同時によく使う場合、1つ1つファイルを探して開くのは面倒です。エクセルVBAで、ファイルを開くボタンを作成して、その面倒な手間を省きましょう。誰でも作成できるように分かりやすく、説明しているので、難しいことはありません。

 

 

ファイルを開くVBA

ここでは、エクセルのシートにボタンを作って、そのボタンをクリックすると、指定したファイルが開くVBAを作成します。

手順は、次のようになります。

① 指定したファイルを開くVBAを作成する。

② シートにボタンを作成して、VBAを登録する。

 

 

ファイルを開くVBA

ファイルが、Dドライブにある

Sub ファイルを開く()
Workbooks.Open “D:¥Book1.xlsx”
End Sub

ファイル名が「社員番号.xlsx」の場合、次のようになります。

Sub ファイルを開く()
Workbooks.Open “D:¥社員番号.xlsx”
End Sub

ファイルが、Cドライブにある

ファイルが、Cドライブにある

Sub ファイルを開く()
Workbooks.Open “C:¥社員番号.xlsx”
End Sub

ファイルが存在しなかった場合、エラーを回避するVBA

指定したファイルが存在しなかった場合は、エラーが出ます。

このエラーを、回避するマクロです。

エラーを無視する

エラーになった場合、そのエラーがなかったように、無視するコードです。

Sub ファイルを開く()
On Error Resume Next
Workbooks.Open “C:¥社員番号.xlsx”
End Sub

一度設定したプログラムのエラー処理を、無効にするマクロです。On Error Goto 0で無かったことにします。

Sub ファイルを開く()
On Error Resume Next
Workbooks.Open “C:¥社員番号.xlsx”
On Error GoTo 0
End Sub

ファイルが存在しなかったとき、メッセージを表示する

指定したファイルが存在しなかった時、メッセージを表示するマクロです。

Sub ファイルを開く() 
    If Dir(C:¥社員番号.xlsx) <> “” Then
        Workbooks.Open “C:¥社員番号.xlsx”
    Else
        MsgBox “ファイルが存在しません。”
    End If
End Sub

 

VBAをボタンに登録す

ファイルにボタンを作成する

ファイルを開くVBAを作成するファイル名を、「ファイルを開く.xls」とします。

開くファイル名を、「社員番号.xlsx」とします。

「ファイルを開く.xls」のシート、「Sheet1」にボタンを作成しましょう。

1.「ファイルを開く.xls」の「Sheet1」を開いて、「挿入」タブ→「図」グループ→「図形」から図形を挿入します。ここでは、角丸四角形を挿入しましょう。

 

2.長方形を選択して、「ファイルを開く」と入力します。「ホーム」タブ→「フォント」グループから、フォントの色を自動にします。

 

3.「描画ツール」→「書式」タブ→「図形のスタイル」から「図形の塗りつぶし」を「塗りつぶしなし」、「図形の枠線」を自動にしましょう。

 

 

ボタンにVBAを登録する

マクロをボタンに登録しましょう。

1.ボタンを選択します。

2.右クリックして、「マクロの登録」をクリックします。

 

3.「マクロの登録」ダイアログボックスで、「Sheet1.ファイルを開く」を選択して、「OK」ボタンをクリックるとボタンにマクロが登録されます。

ファイルを開くVBAで仕事の効率化

ファイルを開く場合、開くファイルの所在地が奥深くある場合だと、それを探してファイルを開くのは大変です。どの場所にファイルを保存していたか、忘れた場合はなおさらです。ファイルの所在地から調べなくてはいけません。なんと!面倒なことだと思いませんか。そのような面倒な作業を、VBAが解決してくれます。開くファイルが決まっている場合は、なおさらVBAを作成していた方が、効率よく作業できます。

マクロの利点は、無駄な手間を省いて、一気に作業を行って仕事を効率化することです。エクセルVBAで、ボタンをクリックするだけで簡単にファイルを開くことができます。

こちらの記事もご覧ください。⇒エクセルのシートにマクロボタンを作成、編集する方法!コントロール