| 
    
     |  | ▼美貴 さん: 
 連投、恐縮です。
 興味はないかもしれませんが、最後にアップした案です。
 "背景色"シートのセルに様々な背景色をセットしておきます。
 (使用時には非表示にしておきます)
 
 ユーザーフォームの背景色自体を変更します。
 以下の例ではユーザーフォームをクリックすると背景色指定を動かします。
 もし、いったん設定した背景色を、その後、再度フォームを開いたときのも継承する必要があれば
 QueryCloseで「例」の設定シートに、背景色番号を保存しておき、Initializeで継承することもできます。
 
 ユーザーフォーム側
 
 Private Sub UserForm_Click()
 Me.Hide
 Call SetBackColor(Me)
 Me.Show
 End Sub
 
 標準モジュール
 
 Sub SetBackColor(myFm As msforms.UserForm)
 Dim curSh As Worksheet
 Dim sel As Range
 
 Set curSh = ActiveSheet
 With Sheets("背景色")
 .Visible = True
 .Select
 On Error Resume Next
 Set sel = Application.InputBox("背景色にしたいセルを選択してください", "背景色選択", Type:=8)
 On Error GoTo 0
 If Not sel Is Nothing Then
 myFm.BackColor = sel(1).Interior.Color
 End If
 .Visible = False
 End With
 
 curSh.Activate
 Set sel = Nothing
 Set curSh = Nothing
 
 End Sub
 
 |  |