【ユーザーフォーム】シート見出しの色を変更する:VBA

エクセルマクロ_ユーザーフォームシート見出し色変更_アイキャッチ ExcelVBA

ユーザーフォームで、シートの見出しの色を変えるマクロコードをご紹介します。

シート見出しの背景色を自動で変更します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

ユーザーフォーム作成

ユーザーフォームを作成します。

エクセルにコマンドボタンを作成し、ユーザーフォームを開きます。


 

マクロコードを標準モジュール「Module1」に入力します。


Sub ボタン1_Click()
    UserForm1.Show vbModeless
End Sub

 

マクロコードを「Module1」に入力した画面の様子


 

ユーザーフォームにマクロコード入力

マクロコードを「UserForm1」に入力します。(まるごとコピペでOK)


Option Explicit

Dim Color_Num As Long

Private Sub CommandButton1_Click()

Dim MyPath As String
Dim ShtName As String

    MyPath = ThisWorkbook.Path
    ShtName = UserForm1.ListBox1.Value
    Sheets(ShtName).Tab.ColorIndex = Color_Num
    
End Sub

Private Sub OptionButton1_Click()
    Color_Num = 6
End Sub

Private Sub OptionButton2_Click()
    Color_Num = 4
End Sub

Private Sub OptionButton3_Click()
    Color_Num = 5
End Sub

Private Sub OptionButton4_Click()
    Color_Num = xlNone
End Sub

Private Sub UserForm_Initialize()

Dim MyList() As Variant
Dim i As Integer

    '色なしを初期値にする
    OptionButton4.Value = True

    With UserForm1.ListBox1

        '1つだけ選択
        .MultiSelect = fmMultiSelectSingle

        'チェックボックス表示
        .ListStyle = fmListStyleOption
        
        ReDim Preserve MyList(Sheets.Count)

        'シート名を取得
        For i = 2 To Sheets.Count
            MyList(i) = Sheets(i).Name
        Next i

        'リストボックスに追加
        For i = 2 To UBound(MyList)
            .AddItem MyList(i)
        Next i
    End With

End Sub

 

マクロコードを入力する場所「UserForm1」

VBE画面
 

動作

「ユーザーフォームを開く」ボタンをクリックして、ユーザーフォームを起動します。


 
 

シート見出しに色を付ける

1. [ListBox1] を1つクリック
2. [OptionButton] から任意の色を選択
3. 「シート見出し色を変更」ボタンをクリック
4. シートタブの色が変わる


 
 

シート見出しを色なしにする

1. [ListBox1] を1つクリック
2. [OptionButton] から「色なし」を選択
3. 「シート見出し色を変更」ボタンをクリック
4. シートタブの色をクリア

 
この記事がお役に立ちますと幸いです。
 
・【ExcelVBA】ユーザーフォーム作成の事例まとめ
 

【VBAユーザーフォーム】何ができるの?:使用例34選
...

 

「シンプルで一生使える現場直結のワザ大全 ExcelVBA 最高の教科書」
最強のワザ大全がついに登場!
全方位から「本気のVBA」を解説しています