プロが教えるわが家の防犯対策術!

エクセル2007を使用しています。

Sub a()
Range("a1") = "a"
End Sub

を実行すると、A1セルにaが入力されますが、
これは("a1")の後に「.Value」が省略されているのでしょうか?

それを確かめたくヘルプを見たのですが、

********************************************************
Range.Value プロパティ
指定されたセル範囲の値を表すバリアント型 (Variant) の値を設定します。
値の取得および設定が可能です。
構文

式.Value(RangeValueDataType)

式 Range オブジェクトを表す変数です。

パラメータ
名前 必須/オプション データ型 説明
RangeValueDataType オプション バリアント型 (Variant) セル範囲の値のデータ型を指定します。
xlRangeValueDataType クラスの定数を使用します。
********************************************************

と書いてあり、いまいちよくわかりません。
「.Value」が省略されてる事を確認する方法を教えてください。

よろしくお願い致します。

A 回答 (3件)

同じような話題が見付かったのでリンク


http://oshiete.goo.ne.jp/qa/6372495.html

http://msdn.microsoft.com/ja-jp/library/aa537180 …
> Range オブジェクトのデフォルト プロパティは、Value プロパティ
と公式に書かれているけど、

http://www2.aqua-r.tepm.jp/~kmado/kcolumn.htm
実際に詳細な動きを確認したら、非表示の _Default ってのが呼ばれてる
みたいで、引数を指定すれば Item プロパティの処理を実行できてしまうと。
(※引数を指定しなければValueプロパティの処理)

尚、オブジェクトブラウザで非表示のメンバを表示するには、
右クリックメニューから[非表示のメンバの表示]を選択します。

まぁ、そこまで正確に知っても役に立つのか分かりませんが、
実際の関数定義を確認しないとキッチリ調べるのは難しいと思います。

まぁ私の中では「省略してはいけません」という結論になってますので
そもそも確認する気が起こらないのですが。
    • good
    • 0
この回答へのお礼

ありがとうございました。よく読んでみます。

お礼日時:2011/12/05 23:42

>これは("a1")の後に「.Value」が省略されているのでしょうか?


そう言うことだ。
ーー
省略されているということは、Valueなんだから、わざわざ確認方法など用意して無いと思うよ。
.Valuei以外は省略できないはずだから。
ほかプロパティなどを書き忘れていたら(または省略したら)、実行結果が思い通りにならないはずだから。それぐらいテストして気づくだろう。
>「.Value」が省略されてる事を確認する方法を教えてください。
.Value以外の場合は省略できないのだから、誤って省略しているわけだ。そんなものはわかるはず無い。
データタイプを確認しても理論的に判るはず無い。
--
何かで懲りた経験をしたのなら、自分で.Valueは省略しないと決めて、実行したら。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/12/05 01:14

Rangeオブジェクトのところに、デフォルトプロパティがValueだって書いてあったはずだけど。

    • good
    • 0
この回答へのお礼

”デフォルトプロパティがValue”

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

お礼日時:2011/12/05 01:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!