• ベストアンサー

Excelでインターネットを利用して運賃計算するマクロをユーザー定義関数化できないでしょうか?

先に http://oshiete1.goo.ne.jp/kotaeru.php3?q=1641060 で、Excel VBAでインターネットを利用して運賃計算する方法をお教えいただいたのですが、この処理をユーザー定義関数化することはできないでしょうか? 試行錯誤したのですがなかなかうまくいきません・・ ユーザー定義関数化するポイント、不可能であれば不可能である部分だけでもお教えいただけたら助かります。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 簡単に言えば、ユーザー定義関数は、静的(Static)データしか取れないから、データをどこかで探して、ODBC などで独自のデータベースにすればよいのではありませんか?確か、鉄道マニアの間では、そういうデータがフリーで公開されているとも聞きました。また、市販のソフトもあるのではありませんか? それ以外でも、Vector や窓の杜で探されたらどうですか? フリーソフトウェアの類は、ほとんどは動的にデータの取得をしているはずです。Excelで行うとしても、Internet Control から取る方法が一番だと私は思いました。しかし、Excelでは記録マクロレベルの方が良いのでしたら、私には、なすすべがありません。 VBAの技術を教わるのではなく、そのままで自分の要望どおりに走るVBAのコードそのものの提供をお望みでしたら、いずれにしても、ここでは難しいでしょうね。

kenji2004
質問者

お礼

ありがとうございます。 >ユーザー定義関数は、静的(Static)データしか取れない・・ なるほど。ユーザー定義関数ってそういうものなんですね。なんとなくわかった気がします。 >ODBC などで独自のデータベース・・・ いえいえ、そこまでする気はないのです。 ユーザー定義関数ではできないということがわかっただけで充分です。 VBAの勉強になりました。 前の質問からいろいろとお教えいただきありがとうございます。 とても勉強になりました。 ありがとうございました。

関連するQ&A

  • エクセルで運賃計算(2)

     エクセルで運賃計算ができるようにしたいのですが、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=545714  で、運賃計算ができるようになりました。  非常に便利になったのですが、欲を言えば、運賃と特急料金を同時に計算できるようにしたいのです。  つまり、前回では運賃を出すことだけができましたが、今度は運賃と特急料金を計算した上で結果を出すという感じです。  よろしくお願いします。

  • 複素数関数のユーザー定義方法等をお教えください

    カテゴリーにVBAがありませんでしたので VBに投稿させていただきます。 EXCEL2000VBAで複素数関数や三角関数等を用いて 加速度波形処理の勉強をしています。 過去のQ&Aで VBAアドインの複素数関数を用いた場合の 計算時間の長さを短縮する方法としまして (1)ユーザー定義で複素数関数計算を作成する。 (2)モジュールに直接書込む。 との記述がありました。(質問番号:81639) 上記(1)(2)につきまして詳しくお教えください。 自作のVBAにどのようにして上記(1)(2)を 作成又は書込みすれば良いのかがわかりません。 複素数関数計算のFUNCTION?等も お教えいただけましたら幸いです。 宜しくお願いします。

  • 再びエクセルのマクロについて

    前回、http://oshiete1.goo.ne.jp/kotaeru.php3?q=1179484で、質問させていただき、 だいぶ前に進みました。ありがとうございました。 さて、imogasiさんに誘導いただいた、 imogasiさんに、こちらのページを誘導していただき (http://okweb.jp/kotaeru.php3?q=113505) 拝見させていただきましたが、新たに疑問が出たのでまた教えてください。 例もそのまま移させてもらって実行しているつもりなのですが、(5)を自動でマクロで実行する、という部分がどうしても定義されていません。というエラーが出てしまいます。  また、印刷処理が済んだら、入力リストの欄外にでも、 ”済”印をつけるには、どのようにしたら良いのでしょうか。何度も申し訳ありませんが、よろしくお願いいたします。

  • ユーザー定義関数の作成

    1) 基準年の値をP0,t年後の値をPtとした場合の年あたりの伸び率rは、               1/t      r = (Pt/P0)  - 1  で計算されます。 これを計算するユーザー定義関数のVBAを教えてください。 2) 1からnまでの逆数の和  1+1/2+1/3+・・・+1/n=Σ1/i を計算するユーザー定義関数のVBAを教えてください。

  • ユーザー定義関数 アドイン

    ユーザー定義関数をアドインにどうやって保存するのでしょか? また、ユーザー定義関数以外のVBAをアドインに保存できますか?

  • Excel VBAでインターネットを利用して運賃計算する方法

    Excelで交通費の精算をしているのですが、シート上に入力した出発駅名・到着駅名から、自動的に運賃が出るようにしたいと考えています。 運賃改定のことも考え、インターネット上の路線検索サイト(http:/transit.yahoo.co.jp/ 等)のデータをうまく活用したいのです。 過去の質問( http://oshiete1.goo.ne.jp/kotaeru.php3?q=768527 ) を参考に Sub 運賃() On Error GoTo ERRH syuppatu = ActiveSheet.Range("b2:b2").Value toutyaku = ActiveSheet.Range("b3:b3").Value Application.ScreenUpdating = False Application.DisplayAlerts = False '---取り込み部分 Workbooks.Open Filename:= _ "http://transit.yahoo.co.jp/search?p=" & toutyaku & "&from=" & syuppatu & "&sort=0&num=0&htmb=select&kb=NON&chrg=&air=AIR&yymm=200509&dd=9&hh=16&m1=05&m2=00" '--- ActiveSheet.Name = "new" Sheets.Add ActiveSheet.Name = "s" & syuppatu Sheets("s" & syuppatu).Range("b4:b4").Value = _ Replace(Replace(Sheets("new").Range("b27:b27").Value, "運賃:片道 ", ""), "円", "") Sheets("new").Delete ERRH: Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub というマクロを作ったのですが、別のワークブックを作成してしまう等、あまり使い勝手がよくありません。 別のワークブックを作成しないでこのような処理を行う方法はありませんでしょうか? 理想としてはユーザー定義関数のようなかたちにできればよいのですが・・・

  • データベースのユーザ定義関数について

    PHP4.3.1、MySQL4.1.13を使用して、Webアプリケーションを製作しております。 幾つかの参考書籍やこれら情報に関するWebなどを見ていますと、後々データベースが変更になった時を考え、それぞれのデータベース用の関数を利用せずユーザ定義関数で処理した方が良いと書かれていました。 ただ、データーベースの処理と言っても様々な処理があると思いますし、それら全てをユーザ定義関数で置き換えなくてはならないのかな?と疑問(迷い)を感じております。 皆様は、どの様にされていますでしょうか?または、どの様に考えたら良いでしょうか?プログラミングの基本的な事かもしれませんが、どなたかご教授いただけないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • VBA ユーザ定義関数の使い方です

    VBA ユーザ定義関数の使い方です Sub test() cells(1,1)=UpperSutegana(cells(1,1)) End sub http://www.relief.jp/itnote/archives/002223.phpのソースをコピー としましたがうまくいきません。なぜでしょうか?

  • VBAの中でユーザー定義関数を使うときに

    VBAの中でユーザー定義関数を引数に変数を持たせて使いたいのですが、変数をうまく認識してくれません。 VBAの中でユーザー定義関数を使うにはどうしたらいいのでしょうか? よろしくお願いします。

  • ユーザー定義関数について

    ここで良いのかわかりませんが質問します。 現在、ExcelVBAをすこしかじりました。 ユーザー定義関数を作りましたが、第三者に簡単にわかるようにしたいと思います。fxボタンを押せばなんとなく第三者でもわかりそうですが、ボタンの存在を知らない人はわからないと思いました。 ワークシート上では直接関数を打てば、直下にコメントのようなスタイルでどの数値を入れればよいか出てくると思います。 =round( と打てば =round( (数値,桁数) というように出てくるのですが、ユーザー定義関数でこのようなことはできるのでしょうか? これが出来る出来ないでは第三者への進め方が大きく違ってきます。 教えてgooはもちろんいろいろ調べましたがわかりません。 何卒ご指導お願いします。

専門家に質問してみよう