• ベストアンサー

VBAの初歩的なことですが

ActiveCell.Value = 50 ActiveCell.Value = "50" 上記二つの式はどう違うのでしょうか?

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

  • ベストアンサー
  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.2

再度回答します。 #1の私の回答はプログラミング上の取り扱いです。 ""で囲えば文字として扱われ、囲わなければ数値として扱われます。 'をつけられている場合は文字として扱うというのはエクセル上のルールです。エクセルでは値が文字として入力されようが、数値として入力されようが、数字だけの場合は常に数値として扱います。数字だけのセルを文字として取り扱わせようとすれば'をつける必要があります。大抵は書式で解決しますので、このテクニックを使用する必然性はほとんどありません。

その他の回答 (2)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

> ただ、ある本に、文字列として入力するには > ActiveCell.Value = "'50" のように >「'」を付加しなければいけないと書いてあるのですが、 > これはまた違う意味になるのでしょうか? そのとおりですよ。 確かに直接文字列として入力するには、その方が効率的です。 しかし、実際には、代入値に変数を使うことが多いので、 ActiveCell.Value = 50 ActiveCell.NumberFormatLocal = "@" ' ←書式を文字列にする  のようにする方が、一般的に多く使われていると思います。 普通は、一個ずつでなく範囲を指定して書式を指定しますから 効率もそれほど違いません。 "'50" とするより 50 と記述した方が、スマートでしょう? "50"が、変数の場合、わざわざ "'" & StrHensuu というように なり格好悪いことになってしまいますから殆ど使いません。

merosa
質問者

お礼

ありがとうございます。

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

上は50と言う数字で下は50と言う文字です。

merosa
質問者

お礼

ありがとうございます。 ただ、ある本に、文字列として入力するには ActiveCell.Value = "'50" のように 「'」を付加しなければいけないと書いてあるのですが、 これはまた違う意味になるのでしょうか?

関連するQ&A

専門家に質問してみよう