マクロ(VBA)
 PR

Excelマクロ(VBA)で別のファイルを開く方法

ねこる
記事内に商品プロモーションを含む場合があります

※冊子を開いて中を見ている by Panasonic GH5+12-60m

「マクロで別のファイル開けないかな」
「別のファイルを操作できるとすごく楽になる」

Excelのマクロ(VBA)を使っていると別のファイルを開いたり、編集できるとすごく楽になる場面があると思います。

もちろん、ファイルを開く・編集も可能です。

今回は、マクロでファイルを開く・編集する方法をご紹介します。

マクロでファイル操作をできると、マクロのスキルレベルがあがりますので、最後まで見ていってください。

Excelマクロ(VBA):ファイルを開く

1Sub openExcelFile()
2    Dim wb As Workbook
3    Dim filePath As String
4    
5    ' ファイルを指定
6    filePath = "/Users/nekoru/Library/CloudStorage/Dropbox/0 Inbox/test.xlsx"
7    
8    ' ファイルを開く
9    Set wb = Workbooks.Open(filePath)
10End Sub

ファイルを指定

1' ファイルを指定
2filePath = "/Users/nekoru/Library/CloudStorage/Dropbox/0 Inbox/test.xlsx"

5、6行目で開くファイルを指定します。

上記はMacの場合です。

Windwsの場合はこちら
filePath = “C:¥Path/to/Your/File.xlsx”

ファイルのパスがわからなかったら、下記の手順で探してみてください。

  1. 開くファイルを右クリック
  2. プロパティ

ファイルを開く

1' ファイルを開く
2Set wb = Workbooks.Open(filePath)

指定したファイルを引数に、Workbooks.Openでファイルを開きます。

今回は、Excelファイルを開きましたが、別の書き方をすればテキストファイル、CSVファイルなど、別の種類のファイルを開くことも可能です。

Excelマクロ(VBA):ファイルを編集する

1' ファイルを開く
2Set wb = Workbooks.Open(filePath)
3
4' 編集したいシートを指定
5Set ws = wb.Sheets("Sheet1") ' 編集したいシート名を適宜変更
6
7' 編集処理
8ws.Celss(1, 1).Value = "Hello, World!" ' 編集したいセルや範囲を適宜指定

次は、開いたファイルの編集です。

編集したいシートを指定する

別のExcelファイルを編集するので、ファイル名・シート名を指定する必要があります。

指定しなければマクロは何を編集していいかわかりません。

1' 編集したいシートを指定
2Set ws = wb.Sheets("Sheet1") ' 編集したいシート名を適宜変更

wbでファイルを指定しており、wb.Sheetsでさらにファイルの中のSheetを指定しています。

このように指定することもできます。

ファイルを編集する

ファイル・シートの指定ができたら、編集ができます。

1' 編集処理
2ws.Cells(1, 1) = "Hello, World!" ' 編集したいセルや範囲を適宜指定

編集内容をここに書いてください。

Excelマクロ(VBA):ファイルを保存する

1Sub OpenExcelFile()
2    Dim wb As Workbook
3    Dim filePath As String
4    
5    ' ファイルのパスを指定
6    filePath = "/Users/nekoru/Library/CloudStorage/Dropbox/0 Inbox/test.xlsx"
7    
8    ' ファイルを開く
9    Set wb = Workbooks.Open(filePath)
10    
11    ' 編集したいシートを指定
12    Set ws = wb.Sheets("Sheet1") ' 編集したいシート名を適宜変更
13
14    ' 編集処理
15    ws.Cells(1, 1) = "Hello, World!" ' 編集したいセルや範囲を適宜指定
16
17    ' ファイルを閉じる
18    wb.Close SaveChanges:=True
19End Sub

ファイルの編集が終わったら、ファイルを保存しましょう。

18行目のwb.Closeでファイルを閉じます
SaveChanges:=Trueで上書き保存

Falseにすると、保存しないで閉じます。

ファイルを操作できるようになると、マクロでできる幅が広がるのでぜひ使ってみてください。

Sponsor link

Excel VBAを勉強するなら「できる大辞典」がおすすめです。

辞書なのでピンポイントで学ぶことができます。

大学時代、2016年版を購入して勉強していましたが相当使いました。

ネットだけでも勉強はできますが、本を読みながらVBAを勉強したい方は購入してください。

amazonで見てみる

ABOUT ME
ねこる
ねこる
管理者
Mac / プログラミング / Excel / マクロ(VBA) / カメラ

調べたり、効率的なことが好きです。

記事URLをコピーしました