プロが教える店舗&オフィスのセキュリティ対策術

オブジェクト変数にInteriorオブジェクトやBordersオブジェクトを代入することってできますでしょうか?
例えば変数"HT"にInteriorオブジェクトを代入して、

Range("C3").HT.colerindex=7
という設定はできるのでしょうか?

A 回答 (2件)

出来ますが、構文が違います



こんなことがやりたいのでは?

Sub test()
Dim HT As Object

Set HT = Range("a1")
HT.Interior.ColorIndex = 3

Set HT = Range("a2").Interior
HT.ColorIndex = 3

Set HT = Nothing

With Range("B2").Borders(xlBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With

End Sub


違っていたら、パスしてください
    • good
    • 0
この回答へのお礼

Set HT = Range("a2").Interior
HT.ColorIndex = 3

range.interiorというふうにセットにして代入すればよかったのですね。
ありがとうございました。

お礼日時:2009/01/24 10:11

こんばんは。



時々、初心者の方から、そのような質問を受けます。入力の手間を考えて、一種のオートコレクトの意味合いがあるのだと思います。

そのような入門者さんたちのために、通常のオプション設定で、インテリセンスが使えます。

インテリセンスというのは、初心者のための入力補助機能です。Rangeオブジェクトの後に、「.(ピリオド)」を付けると、プロパティ・メソッドの一覧が出てきますから、そこから選んで入力するのです。(出てこない時があるのは、親オブジェクトがサポートされていないところにあるからです)

オブジェクトとメソッド、プロパティの基本的な役割があります。そして、新たにインスタンスから名称は作ることは可能でも、既存のもののプロパティ名の変更や変数に代入することはできません。

コツコツと入力の手間を惜しまず、キーボードを叩いて覚えていくしかありません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/24 10:12

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