Excel

【Excel】VBAマクロでセルの色を変える(色無し、背景色の塗りつぶし無し等、条件、特定の文字と一致等)方法

当サイトでは記事内に広告を含みます

この記事ではExcelのVBAマクロを使用してセルの色を変更する方法について解説していきます。

ポイントとしては「Cells」、「Interior」、「InputBox」を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切なものに変更してご活用くださいね。それでは詳しく見ていきましょう!

VBAマクロでセルの背景色を変える方法(通常)【Cells、Interior】

それではまず、VBAマクロでセルの背景色を変える通常の方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub IroKaeru()
    ' A1のセルの背景色を赤に変更
    Cells(1, 1).Interior.Color = RGB(255, 0, 0)
End Sub

コードのAlt+F8を押し、マクロ選択画面でIroKaeru関数を実行します。

このコードでは、A1のセルの背景色を赤に変更しています。

 

VBAマクロで特定の条件のセルの色を変更する方法(指定文字と一致、列方向に一括、ダイヤログで文字指定)【InputBox、Cells、Interior】

続いては、特定の条件に基づいてセルの色を変更する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub MojiIroKaeru()
    Dim hensuu As String
    hensuu = InputBox("色を変更する文字を入力してください")
    
    Dim gyou As Integer
    For gyou = 1 To 10
        If Cells(gyou, 1).Value = hensuu Then
            Cells(gyou, 1).Interior.Color = RGB(0, 255, 0)
        End If
    Next gyou
End Sub

コードのAlt+F8を押し、マクロ選択画面でMojiIroKaeru関数を実行します。

このコードでは、ユーザーが指定した文字(ダイヤログで入力できるようにしています^_^)に一致するセルの背景色を緑に変更しています。

VBAマクロでセルを塗りつぶしなしにする方法(範囲指定、最終行まで)【Cells、Interior】

最後に、セルの塗りつぶしを解除する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub TsubushiNashi()
    Dim saishuugyou As Integer
    saishuugyou = Cells(Rows.Count, 1).End(xlUp).Row
    
    Dim gyou As Integer
    For gyou = 1 To saishuugyou
        Cells(gyou, 1).Interior.ColorIndex = -4142
    Next gyou
End Sub

コードのAlt+F8を押し、マクロ選択画面でTsubushiNashi関数を実行します。

このコードでは、指定した範囲のセルの塗りつぶしを解除しています。

まとめ

今回の記事で、ExcelのVBAマクロを使用してセルの色を変更する方法や条件に基づいて色を変更する方法、さらにセルの塗りつぶしを解除する方法について学びました。

実際に試してみて、日常業務に役立ててくださいね!