• ベストアンサー

[Excel VBA] selectionとselectはどのように違うのですか?

selectionオブジェクトは、selectされたオブジェクトを表すときに 使用するのですか? 使用するときの違いがわかりません。 よろしくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。Wendy02です。 返事が遅くなってすみません。ちょっと、面倒なことをしていたので……。 >selectionは、セル範囲の取得だけにしか使用できず、他の >オブジェクトは使えないですね? いいえ、マウスで選択するもので、ワークシートの中のものなら、ほとんどです。 一つだけできないのは、コントロールツールのオブジェクトですね。 ためしに、 MsgBox TypeName(Selection) として、マクロを動かしてみてください。 Range やら、ChartArea とか、いろいろ出てくるはずです。つまり、それが取得したオブジェクトですから、その後は、いろいろ加工することが出来ます。ただし、ChartArea などは、ちょっと面倒だから、そのまま、ActiveChart と切り替えたほうが楽です。

o-jon
質問者

お礼

ありがとうございました。 また、よろしくお願いいたします。 追伸:マクロボタンの問題は解決しました。

o-jon
質問者

補足

早速のご回答ありがとうございました。 少し理解できました。 ところで、たまたまマクロコードを編集していたとき、マクロ文を 1行削除したせかいかどうかわかりませんが、通常、マクロ記録を するとき、記録終了ボタンが小さく表示されると思いますが、 記録開始と同時にメニューの中に入ってしまったのですが、 どのように表示可能したらいいですか? Excel2003です。 申し訳ございません。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 selectionオブジェクトは、selectされたオブジェクトを表すときに使用するのですか? その通りです。 言葉で考えるよりも、やってみたほうが早いです。 Sub Test1()  Range("A1:A10").Select '範囲を取得するという、行為=メソッド  Selection.Interior.ColorIndex = 34 '取得した範囲 =Range End Sub ということです。 しかし、マウスで範囲をとっても、それは、Selection です。 マウスで、範囲を選択したまま、以下コードを働かせれば、色は変わります。 Sub Test2()  Selection.Interior.ColorIndex = 34 '選択した範囲 End Sub

o-jon
質問者

お礼

ありがとうございました。 また、よろしくお願いいたします。

o-jon
質問者

補足

早速のレスありがとうございました。 selectionは、セル範囲の取得だけにしか使用できず、他の オブジェクトは使えないですね?

すると、全ての回答が全文表示されます。

関連するQ&A