• ベストアンサー

VBAのdoubleについて

ExcelのVBAで使用する、ユーザー定義関数について知りたい。数学的知識が乏しいので、初心者にもわかる説明をいただけるとありがたいです。(単精度と倍精度の違いもよくわかりません)

  • 4s6n
  • お礼率85% (6/7)

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

単精度浮動小数点数型 (Single)4 バイト 倍精度浮動小数点数型 (Double)8 バイト 浮動小数点は符号ビット+指数部+整数部に分かれます。 ここの指数部がEの後の数値が10のN乗の数値になります。 例えば100を指数表示にすると1.0E2となります。 指数部の値は2 整数部は実際の値から指数分を除いた値になります。 整数部の値は1 これを単精度の場合(4バイトなので)       /-------------------------ここが整数部 00000010 00000000 00000000 00000001 ^--ここが符号ビット 倍精度は単に指数部と整数部が単精度より大きな値が扱えるということ詳細はヘルプを参照のこと ユーザ定義関数は自分で作った関数(FunctionやSub)のこと 例えば Sub OKweb() msgbox "Ok" End Sub とか

4s6n
質問者

お礼

yanmaa様、速攻の回答ありがとうございました。仕事でEXCELを使用していますが、未だにその機能の一部しか活用しておりません。出来ればVBAまで手を伸ばして、自分の関数を作りもっと快適な操作環境を構築したいと思っています。今後とも宜しくご教授をお願い致します。*4s6n*

関連するQ&A

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

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

  • VBA上での関数について

    VBA上で関数を使いたいのですが、その記載方法がわかりません。 具体的にはIF関数をVBAで使いたいのですが、その他にも関数をVBAで使う際の定義みたいなものがありましたらお教えください。 幾分初心者のため質問自体がいまひとつ的を得ないかもしれませんが、ひとつよろしくお願いします。

  • エクセルのユーザー定義関数で(VBA)

    エクセルのVBAで、セルに「=SheetName」と書き込めば、その関数を書き込んだセルが属するシート名をセルに代入さるようなユーザー定義関数を作りたいと考えています。 で、標準モジュールに Public Function SheetName(test) SheetName = ????? End Function と、書き込んでふと止まりました。 ユーザー定義関数を書き込んだシートの名前ってどうやって取得すればいいのでしょうか?VBでいうSenderみたいなのってあるんでしょうか? どなたか?詳しい方教えて頂けないでしょうか? 宜しくお願いいたします。

  • VBAのFunction内でのセル値書き換え

    Excel上でVBAを使ってある値を求めるユーザー定義関数を 自作しようとしています。 その関数の中でワークシートの中のセル値を書き換えようとしましたが そこでプログラムは停止してしまいます。 エラーメッセージなどは無く、VBAプログラムが終了します。 サブプロシージャの中でなら当然書き換えはできるのですが、 関数の中でセル値を書き換えることはできないのでしょうか? 環境はWinXP SP2, Office 2000です。 どなたか分かる方、教えていただけると幸いです。 よろしくお願いします。

  • VBAをExcel2010/2013で利用

    下記URLのサンプルファイルに含まれるVBAで作成されたユーザー定義関数について、 Excel2003(Windows7)の環境で利用することが出来ました。 http://www.relief.jp/itnote/archives/003799.php しかしながら、Excel2010およびExcel2013(ともにWindows7)で開くと、結果が #VALUE! と変わってしまい、正しく表示されませんでした。 VBAの参照設定でも同じものにチェックを入れている状態ですが、うまくいきません。 (ただし、Microsoft Excel XX.X Object LibraryやMicrosoft Office XX.X Object Library などバージョンの差異はあり) Excel2010またはExcel2013において、このユーザー定義関数を 正しく利用できる方法が分かりましたらご教示いただけますと助かります。

  • 自作関数とユーザー定義関数は同じ意味?

    エクセルやVBAの用語として出てくる 「自作関数」「ユーザー定義関数」は同じ意味ですか?

  • エクセルVBAで mod関数

    はじめまして。 エクセルVBA初心者のも社会人です。 mod関数を使用して、 コマンドボタンを押すたびにコマンド1、コマンド2を繰り返すにはどのようにしたら良いのでしょうか? mod関数を使用してあまり0,1で行いたいのですがいまいちわかりません。 どなたかご教授お願いいたします。

  • 全角英数字を半角に excel vba

    インターネットで全角を半角に変換するvbaを調べたら、strconvみたいな関数の説明がいろいろあったので、私のケースにあてはめて考えましたがどうもしっくりきません。例えばセルの A1,A2,A3..............A200位まで(最後の位置A200は毎回変わります)全角の英字 (TOKYO, OSAKA,NAGOYA) など都市の名前がいろいろ入っているですがそれをすべて半角に変換するvba関数はどういった表記でできるかご教授願います。毎月の仕事で必要なEXCEL作業の一部でエクセルのASC関数などは使用せずにvbaのをくみこみたくここで質問を入れてみました。vba全くの初心者なので簡単な表記であれば助かります。

  • VBAでDLL呼び出し

    VBAに関する使用方法をお教えください。 例えばsheet1のA1の数値をVBC++で作成したDLLファイル内にある関数に引数として渡したいのですが、どうすればよいでしょうか? (どう記述すればよいのでしょうか) 初心者につき、分かりやすく説明をして頂ければ幸いです。 VBC++で作成したDLLファイル名 testdll.dll testdll.dll内で定義してある関数名はtest_sendです 以上、宜しくお願い致します。

  • エクセルVBAではRounddown関数はつかえないのでしょうか?

    Excel2003SP2でVBAを使っています。 AAA = RoundDown(Range("A1"), 0) と入力してコンパイルすると 「コンパイルエラー SubまたはFunctionが定義されていません」 と表示されます。 エクセルVBAではRounddown関数は使用できないのでしょうか? それとも私の記述が何か間違っているのでしょうか

専門家に質問してみよう