57

#Excel VBAでの記号の使用の意味は何ですか?

これは次のように使用されます。

 a = b /100#

#後の意味がわかりません100か?

4

1 に答える 1

94

Double の型宣言文字は番号記号 (#) です。ハッシュともいう

その他の型宣言文字は次のとおりです。

  1. 整数 %
  2. 長いです &
  3. 通貨 @
  4. 独身 !
  5. ダブル #
  6. 文字列 $

ここで # の意味を理解していません。

これは、式が評価されるときに、型宣言文字の前の数値が Variant としてではなく、特定のデータ型として扱われることを意味します。

基本的に同じであるこの例を参照してください。

Sub Sample1()
    Dim a#

    a = 1.2

    Debug.Print a
End Sub

Sub Sample2()
    Dim a As Double

    a = 1.2

    Debug.Print a
End Sub

編集

もう少し詳しく説明しましょう。

この2つの手順を検討してください

Sub Sample1()
    Dim a As Double, b As Integer

    b = 32767
    a = b * 100

    Debug.Print a
End Sub

Sub Sample2()
    Dim a As Double, b As Integer

    b = 32767
    a = b * 100#

    Debug.Print a
End Sub

質問: そのうちの 1 つが失敗します。どちらだと思いますか?

回答: 最初の手順Sub Sample1()は失敗します。

理由:

ではSample2b * 100#計算の結果は型になりDoubleます。Double の範囲内なので、計算は成功し、結果が variable に代入されますa

では、両方のオペランドが整数型であるため、計算の結果は 型にSample1なります。しかし、計算結果は整数ストレージの制限を超えています。その結果、エラーになります。b * 100Integer

それが役に立てば幸い :)

于 2012-06-05T03:07:09.353 に答える