ユーザーフォームで、シートの見出しの色を変えるマクロコードをご紹介します。
シート見出しの背景色を自動で変更します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
ユーザーフォーム作成
ユーザーフォームを作成します。
エクセルにコマンドボタンを作成し、ユーザーフォームを開きます。
マクロコードを標準モジュール「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」
動作
「ユーザーフォームを開く」ボタンをクリックして、ユーザーフォームを起動します。
シート見出しに色を付ける
1. [ListBox1] を1つクリック
2. [OptionButton] から任意の色を選択
3. 「シート見出し色を変更」ボタンをクリック
4. シートタブの色が変わる
シート見出しを色なしにする
1. [ListBox1] を1つクリック
2. [OptionButton] から「色なし」を選択
3. 「シート見出し色を変更」ボタンをクリック
4. シートタブの色をクリア
この記事がお役に立ちますと幸いです。
・【ExcelVBA】ユーザーフォーム作成の事例まとめ
【VBAユーザーフォーム】何ができるの?:使用例34選
...
「シンプルで一生使える現場直結のワザ大全 ExcelVBA 最高の教科書」
最強のワザ大全がついに登場!
全方位から「本気のVBA」を解説しています
リンク