エクセルVBAで質問です。次の2つの表示結果は同じなのですが、何が違うのかをご説明可能な方はいらっしゃいますでしょうか?

Visual Basic73閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

皆様ありがとうございました。とてつもなく奥深い話なんだなと思ったと同時にもっと勉強頑張ろうと思いました。

お礼日時:5/21 20:10

その他の回答(2件)

1

Rangeはこの場合はセルを表すと考えます。 セルには値がセットされていますが、他にも書式(フォントや背景色、罫線など)もセットされています。 VBAではセルの値を取得したり、セットしたりできます。同様に書式を取得したり、セットしたりできます。 示していただいたコードの例2ではhoge.Valueとしているので値を取得しています。 代わりにhoge.Font.Colorとするとフォントの色が取得できます。 一方、例1では単にhogeとしているので、値なのかフォントなどの書式なのか、何を取得したいのか、省略されています。 VBAではこのようなケースで省略した場合はValueであるとするルールがあります。 つまりhoge.Valueと同じことになります。

1人がナイス!しています

1
ID非公開

2022/5/21 17:08

省略したらValueが採用されるってだけです。 ですが、省略は個人的には非推奨ですね。以下、ご一読を。 https://vbabeginner.net/omit-value-property/

1人がナイス!しています