• ベストアンサー

エクセル4.0のマクロ

myRange様、Wendy02様、ありがとうございます。 何らかの手違いで前IDでのログインができず、お礼が遅くなりました。 この場をお借りしてお礼と謝罪をしたいと思います。 前回のはうまくいきました。 で、下のARGUMENTってのは何でしょう?? サイトとか探しては見たものの、なかなかなくって… これもVBに書き換えたいのですが、お力を貸してください。 A列128行目から始まっています。 =ARGUMENT("contract") =ARGUMENT("time") =ARGUMENT("market") =ARGUMENT("strike") =ARGUMENT("rate") =ARGUMENT("vol") =ARGUMENT("div") =ARGUMENT("value") =SET.NAME("difference",BS_Fair_Value(contract,time,market,strike,rate,vol,div)-value) =WHILE(ABS(difference)>0.000001) =BS_Vega(contract,time,market,strike,rate,vol,div) =IF(A138=0,RETURN(""),) =SET.NAME("vol",vol-difference/A138) =SET.NAME("difference",BS_FairValue(contract,time,market,strike,rate,vol,div)-value) =NEXT() =RETURN(vol) よろしくお願いいたします。

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

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

こんにちは。 >ARGUMENTってのは何でしょう?? ARGUMENT は、 BS_Fair_Value(contract,time,market,strike,rate,vol,div) のサブルーチンか、ユーザー定義関数の引数になるものだと思います。 現状では、情報が不足していますので、VBAのコードにはなりません。 BS_Fair_Value BS_Vega の二点がありません。

qpqpqp_201
質問者

お礼

度々どうもありがとうございます。 だいぶ見えてきた(気がする)ので、ちょっとがんばってみます。 またわからないことがあったら教えてください。 ありがとうございます。

その他の回答 (1)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

またまた登場、myRangeです。 wendy02さんも指摘されてますが、 1.BS_Fair_Value 2.BS_Vega 3.BS_FairValue この3つの定義関数が提示されてませんね。 そして、1,3は同じものだろうと推測はできますが、 このコードがちゃんと動作しているなら、1,3は別物ということになります。 この3つ(2つ)も最終的にはVBAに変換しないといけないわけですよね。 ま、それは置いといて質問の部分だけは以下のようかと。 '------------------------------------  Function Tekito(contact, Xtime, market, strike, rate, vol, div, value)  Dim Difference As Double  Dim Dumy As Double    Difference = BS_Fair_Value(contact, Xtime, market, strike, rate, vol, div) - value Do While Abs(Difference) > 0.000001  Dumy = BS_Vega(contact, Xtime, market, strike, rate, vol, div)    If Dumy = 0 Then     Tekito = ""     Exit Function    End If  vol = vol - Difference / Dumy  Difference = BS_Fair_Value(contact, Xtime, market, strike, rate, vol, div) - value Loop  Tekito = vol End Function '----------------------------------------- Function名は、Tekito(適当)にしておきました。(^^;;; また、引数名、time は、Xtime に変更。   Argumentをネットで検索してみましたが参考になるようなサイトは なかなかヒットしませんね。 ですが、コードとArgumentの英語の意味からして、 関数などの引数を表わしているということは推測できるのではないでしょうか。   で、次のサイトにちょこっとサンプルが載ってます。覗いてみてください。 http://support.microsoft.com/kb/123189/en-us/   実のところ、参考になればと回答はしてますが、 当方も4.0マクロは使ったことありませんし よく知りません。。。。← おい、おい。(^^;;;   が、眺めてみれば色々見えてはきます。。。  

qpqpqp_201
質問者

お礼

またまたありがとうございます。 おまけに”Tekito”まで想像のうえ創造していただいて(寒い??) だいぶ見えてきた気がするので、ちょっとがんばってみます。 本当にありがとうございます。 また教えてください。

関連するQ&A