みなさんは海外資産の評価についてどのように行っていますか?
僕は外貨建て資産などについては、マイクロソフトのExcelで、現在の為替レートを使用して円換算やドル換算などを計算できるようなワークシートを作成しています。
その為替レートですが、先日までmsnのサイトからExcelマクロで取得していました。
ところが3月下旬から突然、最新為替データが取れなくなりましてページをたどってみたところ、サービスが終了していたようです。
そこで新たなデータソースを探すことにしました。
FXなどのサービスを提供している会社のサイトや、Yahoo!ファイナンスなどではメジャーな通貨の情報は簡単に手に入ります。
でも僕の場合は、タイバーツやベトナムドンのFXではあまり一般的ではない為替データが必要になります。なかなかベトナムドンを同じテーブルで提供している会社がないんですよねー。
いろいろネットを検索して、たどりついたのがこのページ。
通貨の為替レートのリスト
このページは90種類以上の為替レートが掲載されており、しかも円や米ドル以外の主要通貨(ユーロ、英ポンド、スイスフラン、カナダドル、豪ドル、ニュージーランドドル)とのクロス表も載っています。5分毎に更新される、ものすごくいいサービスです。
ExcelにはWebクエリといって、ホームページのテーブルをリンクする機能があるのですが、この機能を使って新規にデータを取得しようと思いましたが、上記ページはどうも適用外のようです(取り込みボタンが出現しない)。
そこでExcelマクロで記述してデータを取ってくることにしました。
試行錯誤の末、作成できたのがこのコードです。一度、何も入力されていない新しいSheet上でこのマクロを実行すると、為替のテーブルがWebクエリとして展開・表示されます。
一度、表示さえされてしまえば、その後このマクロのコードを消してしまっても問題ありません。
最新データを取得したい時には、「データ」-「すべて更新」で最新データで上書きされます。またデータ上で右クリックして、「外部データ範囲プロパティ」を使えば、定期的に更新をかけたり、ファイルを開くときにデータを更新したりようにすることもできます。
こいつは便利ですぞ。ご興味ある方はご活用下さい。
Excelマクロのコード
-----ここから-----
Sub GetCurrencyTable()
‘
With ActiveSheet.QueryTables.Add(Connection:= _
“URL;http://jp.fx-exchange.com/currency-exchange-rates-list.html” _
, Destination:=Range(“A1”))
.Name = “rates.asp?Region=1&Compare=7_1”
.FieldNames = True
.FillAdjacentFormulas = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.Refresh BackgroundQuery:=False
End With
End Sub
-----ここまで-----
2018/4/25 コードを訂正しました。