私はUSDをEUROに変換するスプレッドシートを持っています。Excel 2010がWEBSERVICE()をVBAに置き換え
私はエクセル2013でそれを設計し、私はインターネットからの過去の為替レートを取得するために、新しい機能のWebサービスを使用し、ここAPI:
http://api.fixer.io/2017-01-07?base=USD&symbols=EUR
そして、私の式は以下のようになります。
=IF(OFFSET(INDIRECT("R[0]C",),0,-2)<>"",SUBSTITUTE(MID(WEBSERVICE("http://api.fixer.io/"&TEXT(EOMONTH(OFFSET(INDIRECT("R[0]C",),0,-2),0),"yyyy-mm-dd")&"?base=USD&symbols=CNY"),50,6),"}",""),"")
説明: 現在のセルの左側にある2番目のセルが空でない場合は、Webデータを入力します。数式のパラメータは月の終了日で、この表のセルによっても計算されます。
テーブルに複数の行があり、これは私たちのために完全に機能していますが、一部のユーザーはまだExcel 2010以上になっていますが、VBAでこれを行う方法はありますか?
VBAでこれを行う方法がありますが、いくつかの調査が必要です。 IEの自動化、Web解析/ Webのスクレイピングを見て、ノックできるものを見てください。一度作業することができたら、お手伝いします。 –
ありがとう@Glitch_Doctor、私は1つのセルを行うためにVBAを得ることができますが、私はすべてのセルを自動的に取得する方法を知らない。私はPHPを知っていますが、VBAは私の裏庭ではありません。 – Godinall
ああ、それはループとカウンターを使うことでしょう。かなりの作業ですが、@AxelRichterの甘いUDFがあります。これは、すべての痛みを克服するよりはるかに優れています。 –