• ベストアンサー

末尾に#がつくのは vba

Sub test() Dim i As Long i = 2000000000 i = 3000000000# End Sub この場合、 2000000000は問題ないけど、 3000000000から末尾に#が付きました。 どの数字からシャープが付くのでしょうか? またシャープの意味はなんでしょうか? vbaのコードを実行するにおいて、#があってもエラーになりませんでした。

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

  • ベストアンサー
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.2

そのこーど、オーバーフローすると思うよ・・・ Long型@VBA(4byte)で表現できる数字は -2,147,483,648 ~ 2,147,483,647 > シャープの意味はなんでしょうか? # は As Double と同じ意味で、変数やリテラルの後につけて型を指定します。リテラル(コード上に直接書かれた値)にも型の区別はあるです。 > どの数字からシャープが付くのでしょうか? VBEの#付与は、-2147483648以下と2147483648以上の整数、1.0などの小数(ピッタリ1ではないって意味?)。たぶん、型の指定というより明示。Doubleだから注意しろよってコトだと思う。オーバーフローとか。 ※ANo.1のリンクは.netなんで、サイズ倍になってます。 VBAはコッチ↓ 内容はうすっぺらいけど・・・ http://msdn.microsoft.com/ja-jp/library/gg251528.aspx

axjrpwttechay
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • t-aka
  • ベストアンサー率36% (114/314)
回答No.1

データ型です。Long型とDouble型になります。 以下を参照ください。 http://msdn.microsoft.com/ja-jp/library/47zceaw7(v=vs.80).aspx http://msdn.microsoft.com/ja-jp/library/s9cz43ek(v=vs.80).aspx

axjrpwttechay
質問者

お礼

ありがとうございました。

関連するQ&A