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

Excel VBA で、コマンドボタン名を変数にして背景色を変更したいのですが
どうすればできますでしょうか?
(フォームのボタンではなくて、シートにデザインするコントロールツールボックスのボタンです。)

Const strSheet = "シート"
Const strBtnNM = "ボタン"

Worksheets(strSheet).ボタン.BackColor = RGB(255, 255, 0)    ←これはできます!
Worksheets(strSheet).strBtnNM.BackColor = RGB(255, 255, 0)  ←こんな様な事をしたいです。

宜しくお願いします。

A 回答 (1件)

こんにちは。



 下記コードでどうでしょう。
  Worksheets(strSheet).OLEObjects(strBtnNM).Object.BackColor = RGB(255, 255, 0)

   1.OLEObjectsコレクションを使用する。
   2.OLEObject オブジェクトのプロパティとして表されない、コントロールのプロパティは Object プロパティを使用して実際のコントロール オブジェクトを取得して設定する。

  VBAヘルプの「シートで ActiveX コントロールを使用する」を参照してください。

では。

この回答への補足

できました!\(^-^)/
「LEObjects のプロパティを取得できません。」の
メッセージが出て困っていたのですが
名称の誤りがあり、正すとすんなりできました。
ありがとうございました。
(補足に書いちゃってごめんなさい。)

補足日時:2012/08/27 15:09
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
週末でお礼が遅れて申訳ありませんでした。

OLEObjectsですが、Office2003でも可能でしょうか?
ヘルプを検索すると、「ページがみつかりません」となってしまって・・・。
今、まだうまくいかないのですが、もうちょっとがんばります。
取り急ぎお礼まで・・・。

お礼日時:2012/08/27 10:16

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

このQ&Aを見た人はこんなQ&Aも見ています