アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルでセルに色を付けるマクロを作る場合の
色の選択なのですが、特定の色を付けるのではなく、
そのマクロを実行した時に選択されている
「塗りつぶしの色」のボタンのバケツの色にするには
どうしたら良いでしょうか?

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

A 回答 (2件)

ボタンの色番号をマクロで取得することができるかどうかは、わかりま


せん。おそらくできないと思います。
代替案として、こういうステップのマクロ構成はいかがでしょう。

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
    • good
    • 0
この回答へのお礼

出来ました!
お忙しい時間をさいていただいてありがとうございました。

お礼日時:2007/06/06 18:15

下記で、選択されているセルに任意の色を塗ります。



Application.Dialogs(xlDialogPatterns).Show
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
せっかくお返事いただいたのですが
マクロの言語(?)とかに全く詳しくなくて
「マクロの記録」で作る程度しかできないんです。

私が作ったのは以下の内容です。

' Keyboard Shortcut: Ctrl+l
'
With Selection.Interior
.ColorIndex = 35
.Pattern = xlSolid
ActiveCell.Offset(1, 0).Select
End With
End Sub

これだと塗りつぶしのボタンが何色でも黄色に塗られてしまうので
ボタンの色に合わせて、その都度塗られる色が代わるといいなと
思っているのですが。。。

お礼日時:2007/06/06 17:12

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