|
▼美貴 さん:
連投、恐縮です。
興味はないかもしれませんが、最後にアップした案です。
"背景色"シートのセルに様々な背景色をセットしておきます。
(使用時には非表示にしておきます)
ユーザーフォームの背景色自体を変更します。
以下の例ではユーザーフォームをクリックすると背景色指定を動かします。
もし、いったん設定した背景色を、その後、再度フォームを開いたときのも継承する必要があれば
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
|
|