• ベストアンサー

VBA 自然対数

今,マクロを組み上げており計算上自然対数が必要なのですが,自然対数関数LNを 使用すると, 「コンパイルエラー subまたはfunctionが定義されておりません」 いうエラーが出て困っています. このエラーを解消する方法,または,自然対数を算出できる別の方法があれば ご教授願えないでしょうか? 今組んでいる該当部分を下記に転記いたします y = Ln(Pw / 611.213) よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

次のようにすればよいでしょう。 y = WorksheetFunction.Ln(Pw/611.213)

その他の回答 (1)

回答No.1

'Log関数というのがある。 'http://msdn.microsoft.com/en-us/library/thc0a116%28v=vs.80%29.aspx Sub hoge() MsgBox (Log(Exp(1))) '当然1 MsgBox (Log(100) / Log(10)) '10を底とする100の対数 = 常用対数の実現) End Sub

関連するQ&A

  • 自然対数について

     統計の知識に乏しく大変基礎的な質問なのですが、  自然対数(ln)とは、どういった解析に使うものなんでしょうか?  また、その定義みたいなものがありましたら具体的に教えてください。よろしくお願いします。

  • どうして ln1 は 0なのか?(自然対数)

    L(z)= ln |z| + iarg(z)  (arg(z)は 0~2πの範囲)  この式のzに、それぞれ  L(-1) L(1-i) L(-1+i) ・・・を当てはめて計算せよという問題があります。 答えは、添付画像の通りで、ほぼ納得できたのですが、 【どうしてln1が、消えているのか】が 理解できずに困っています。 数学の基礎知識が足らずにすみませんが、私の理解は「lnとは自然対数のことである」といったレベルです。対数については、大体知っていますが、 自然対数となると何か特別なことをするのかどうか? わからなくなってしまいます。 私の今の予想は、 ln1とは、 log1^1 = 0 となるような、何らかのことが起こっている・・・というものです。  自然対数をネットでいろいろ調べたのですが、このあたりの計算方法についての解説を独学することができませんでした。 アドバイスをお願いします。 

  • Excel VBA で自然対数の関数Lnが使えない

    Windows XP SP2, office excel 2003 VBAで自然対数を使うため,Ln()の関数を使おうとしたのですが実行すると「関数が定義されていません」というエラーメッセージが出ます.ネットで調べると,ワークシートでもVBAでも普通,Ln()の関数は使えるようです. Lnの後ろにカーソルがある状態でF1を押してヘルプを出そうとすると,「キーワードが見つかりません」ではなく,「ページが見つかりません」と表示されます.「キーワードが見つかりません」は,でたらめな文字列のヘルプを出そうとすると表示されるものです. 同様にLog10()も使うことができませんでしたが,EXP()は使えます.なんとかVBAでLn()を使えるようにすることはできないでしょうか?

  • 対数をなぜとるか

    A企業とB企業の市場シェアの差を変数として設定するときに、自然対数を取っているのがなぜなのかを教えてくあさい。 市場シェアの差=ln(A企業のシェア)-ln(B企業のシェア) として定義されて分析がなされていますが、この場合に自然対数を取ることのメリットは何があるのでしょうか? 単純にシェアの差で計算するのと何が違うのでしょうか。

  • 自然対数変換について

    Pm=Pm''(1+t) という式を自然対数変換を加えることで、 lnPm=lnPm''+ln(1+t) となるとありました。 このときのlnってなんでしょうか? わたしはlogと同じものだと考えていたのですが、もしlogなら、上記の式は、 logPm’’=logPm-log(1+t)となり、式中に出てくる記号はマイナスになります。 ということは、logとは違うもので、計算方法もちがうのかな・・?と思いました。 ではいったいlnってなんなんですか!?

  • 自然対数を用いた1.0005の5乗の概算値の導出法

    自然対数を用い、対数や逆対数の表を引かずに1.0005の5乗の概算値を求めよという問題についてです。  (答えは、xの値が非常に小さいときの公式 (1+x)^p=1+px より、1.0025であることはわかるのですが、下記に書きましたが自然対数をどのように使うのか、わかりそうでわからずモヤモヤしております。) 下記についてどなたかわかる方ご教示お願い致します。 (社会人ですが高校生の数学レベルでお願い致します。) 上記は、R.P.Bauman 熱力学序説 東京化学同人 1968.の付録「基礎的な計算法」章末問題にあるものです。 「基礎的な計算法」の中の、自然対数についての説明は下記の通りです。 ----------------- 『数eはxの小さな値に対する関数(1+x)^(1/x)の極限値として定義される。それゆえ、xの十分小さな値に対して(1/x)ln(1+x)=ln e = 1 すなわち ln(1+x)= x である。』 ------------------ これからN=1.0005の時、ln N=0.00050はわかります。そして、1.0005の5乗は(1+0.0005)の5乗として、多分、1の5乗+0.0005×5なのだろうと思います。ですが、自然対数を用いて「(1+0.0005)の5乗」=「1の5乗+0.0005×5」がどのように導けるか、その導出がわかりません。 また、微分を使った 「1>>xの時の (1+x)^p=1+px」の 高校生向けの証明はみつかりましたが、自然対数の場合どのように概算値を導いたら良いのでしょうか。証明(といっていいのかわかりませんが)を教えてください。

  • 自然対数Ln(x)からxを求める方法について

    エクセル2007を使用し、あるグラフの近似曲線(対数近似)を描き、y=0.394Ln(x)+0.88という式を得ました。 y=2.041の時のxの値を求めたいのですが, 自然対数Ln(x)からxを求める方法があるでしょうか? よろしくお願いします。

  • 自然対数の計算方法

    自然対数の計算方法 物理化学の計算式において ln(Vf/Vi) (※Vf:変化後の体積 Vi:変化前の体積) という式が出るのですが、 Vf=1.0L Vi=10L なので Vf/Vi=0.1より ln0.1 となるのですが これを計算機でやれば-2.3025…と瞬時に答えが出るのですが 計算機を使わずに答えを求めることは可能なのでしょうか? もしそういったやり方があれば教えて頂けると嬉しいです。 試験では計算機は持ち込めないので・・・。

  • 自然対数の底e ネイピア数の定義と性質

    自然対数の底eですが、e = lim(n→∞) (1+1/n)^n とあります(定義でしょうか?)。 一方、lim(x→ -∞)(1+1/x)^x = e とするものもあります。これは定義から誘導されるでしょうか。簡単だと思ったのですが。1よりちょっと大きいものの∞乗であり、下は1よりちょっと小さいものの-∞乗ってことですから等価だって示されそうなのですが。 付随しておたずねしますが、lnとか、微分とか、複素関数とかとにかくeはあちこちに出てきてゆるぎない関係式を示すのですが、どれが定義で、どれがその定義から誘導される性質なのか混乱する面があります。あるいは定義が複数あって等価であるとかです。すくなとも冒頭に示したものは簡単にいけるかと思ったのですが、ちょっとてこずりました。 あとちょっと不思議なのですが、自然対数の底eのことをネイピア数といいますが、そういう風に明示的に書かないテキストもいっぱいあるように思います。呼称についてあんまり統一されていない理由が何かあるでしょうか。 よろしくお願いします。

  • エクセルでマクロを実行するとコンパイルエラー

    エクセルでVBエディタでソースコードを記述し、マクロを実行すると、コンパイルエラー、「SubまたはFunctionが定義されていません」とエラーが出ます。これはどういうエラーですか?何が間違っているのですか?

専門家に質問してみよう