質問: エクセルのマクロでセルに色を付けたい エクセルでセルに色を付けるマクロを作る場合の 色の選択なのですが、特定の色を付けるのではなく、 そのマクロを実行した時に選択されている 「塗りつぶしの色」のボタンのバケツの色にするには どうしたら良いでしょうか? よろしくお願いいたします。
回答: ボタンの色番号をマクロで取得することができるかどうかは、わかりま せん。おそらくできないと思います。 代替案として、こういうステップのマクロ構成はいかがでしょう。 1.ボタンの色が変わるということは、変わった時点でアクティブだった セルが塗りつぶされているということですから、そのセルで色を取得 します。(そのセルを選択して、下記 "getcolor" を実行) 2."getcolor" を実行しますと、その色番号が mycol という名前で定義 されますので、以降のマクロでは、下記 "paintcell" のようにして 色番号を取得します。 sub getcolor() activeworkbook.names.add name:="mycol", _ referstolocal:=selection.interior.colorindex end sub ' sub paintcell() dim c c = replace(activeworkbook.names("mycol"), "=", "") selection.interior.colorindex = c end sub