2015年3月27日金曜日

エクセルで特定の色のセルだけを塗りつぶしなしにするマクロ

特定の色のセルだけ、塗りつぶしなし、に一括設定してくれるマクロを作りました。
(ソースを書き換えれば、任意の色も可能)




'ソースコード


Public COLORS

Sub GET_COLOR()
    Dim i As Variant
    Dim Flag As Long
       
    i = Hex(Selection.Interior.Color)
    
    Flag = MsgBox(i & " 選択セルの色設定しますか?", vbOKCancel, "GET_COLOR")
    If Flag = vbOK Then
        COLORS = i
    Else
        MsgBox "COLORS設定は無し"
        COLORS = Null
    End If
    
End Sub

Sub CHANGE_COLOR()
    Dim j As Variant
    Dim c As Range
    
    For Each c In Selection
        j = Hex(c.Interior.Color)
        If j = COLORS Then c.Interior.ColorIndex = xlNone 'RGB(256, 256, 256)とすれば、任意の色設定も可能
    Next
End Sub


'使い方
  1. 塗りかえたいセルを一つ選択する。
  2. GET_COLORマクロを実行する。
  3. 塗り替えたいセルを含めて一括で選択する。(塗り替えたくないセルを含めて選択してOK)
  4. CHANGE_COLORマクロを実行する。
画像の例だと、売上高から7,071まで選択して実行すれば、営業外収益と特別収益だけ、塗りつぶしなしになります。

以上、特定の色を消すマクロでした。


以上。
おやすみなさい。

0 件のコメント:

コメントを投稿