はじめに
インデックス投資家の定番ファンド「eMAXIS Slim 全世界株式(オール・カントリー)」(通称:オルカン)。
このファンドの最新基準価額(NAV)を毎日手動でチェックするのは、意外と手間がかかります。
そこで本記事では、ExcelのVBAマクロを使ってオルカンの基準価額を自動取得する方法を初心者向けに解説します。
「自分でコードを書けなくてもコピペで動く」ように設計したので、“ほったらかし投資”を支える便利ツールとして、ぜひ活用してください。
1.準備するもの
Microsoft Excel(マクロ有効版)
Windows版Excel 2016以降を推奨。
インターネット接続
オルカンの基準価額は運用会社(三菱UFJアセットマネジメント)のサイトから取得します。
基本的なExcel操作スキル
マクロの有効化・シートの編集ができればOK。
2.CSVファイルのURLを確認する
オルカンを運用する三菱UFJアセットマネジメントは、公式サイトで日々の基準価額データを
CSVファイル形式で公開しています。
URLは以下の通りです。
このURLをVBAマクロで読み込み、最新の「日付」と「基準価額」をExcelシートに自動反映させます。
3.VBAマクロのコード全文
以下のコードをそのままExcelのVBAエディタに貼り付けてください。
(Alt + F11 →「挿入」→「標準モジュール」でOK)
Sub auto_open()
Call 基準価額 ‘ファイルを開いた際、自動で「Sub 基準価額」を起動
End Sub
Sub 基準価額()
Dim fp As String, http As Object, fd As Variant, rd As Variant, ary As Variant
fp = “https://www.am.mufg.jp/fund_file/setteirai/253425.csv” ‘URLを取得
Set http = CreateObject(“MSXML2.XMLHTTP”) ‘XMLHTTPオブジェクトを作成
http.Open “GET”, fp, False ‘httpリクエスト情報を設定
http.send ‘httpリクエストを実行
Do Until http.readystate = 4 ‘読み込み完了までマクロを一時停止
DoEvents
Loop
fd = http.responsetext ‘htmlを取得
rd = Split(fd, vbCrLf) ‘取得したhtmlを改行コードで分割
ary = Split(rd(UBound(rd, 1) – 1), “,”) ‘最新データをカンマで分割して配列に取得
Sheets(1).select ‘1番目のシートを選択
Cells(1, 1).NumberFormatLocal = “yyyy/mm/dd” ‘A1セルを日付型に指定
Cells(1, 1).Value = ary(0) ‘A1セルに日付を入力
Cells(1, 2).NumberFormatLocal = “#,##0;-#,##0” ‘B1セルを通貨型に指定
Cells(1, 2).Value = ary(1) ‘B1セルに最新基準価額を入力
End Sub
💡 ポイント
- auto_open を使うとブックを開くたび自動更新できます。
- 自動更新が不要な場合は、auto_open部分を削除すればOKです。
4.動作確認の手順
- Excelを開く → 新規ブック作成
- Alt + F11 でVBAエディタを起動
- 「挿入」→「標準モジュール」で上記コードを貼り付け
- マクロを保存してブックを閉じ、再度開く
- シート1のA1に日付、B1に基準価額が表示されれば成功!
5.応用編:他ファンドに切り替えるには
同じ構造のCSVが提供されているファンドなら、コード内のURLを差し替えるだけで使えます。
| ファンド名 | URL末尾 | 備考 |
|---|---|---|
| eMAXIS Slim 全世界株式(除く日本) | 253209.csv | 日本を除くグローバル株式 |
| eMAXIS Slim 米国株式(S&P500) | 253266.csv | 米国中心ファンド |
| eMAXIS Slim 先進国株式インデックス | 253138.csv | 欧米中心ファンド |
まとめ
今回は、eMAXIS Slim 全世界株式(オルカン)の最新基準価額をExcelで自動取得する
VBAマクロの作り方を紹介しました。
- データは公式サイトのCSVから取得
- Excelを開くだけで自動更新も可能
- 他ファンドにも簡単に応用できる
「ほったらかし投資」をより快適にするために、この自動取得ツールを活用してみてください。

コメント