| 
    
     |  | ▼Massan さん: こんばんは。
 
 >ワークシートのメニューバーに、フォントの色を変更するパレットが
 >ありますが、あのパレットをユーザーフォームに流用する方法など
 >ないでしょうか。
 >また、流用できる場合、そこで選択した色のインデックスはどのように
 >取得するのでしょうか。
 私は、ちゃんとしたもの作成する場合は
 
 http://www.loadsystem.net/api/lsapi3.txt
 
 このあたりのAPIをそっくりそのまま使用します(CHOOSECOLOR)
 
 
 でも、取り合えず色の取得が出来ればいいや!!
 というときは、
 
 ユーザーフォーム(Userform1)にコマンドボタン(Commandbutton1)
 をひとつ配置してください
 
 当該フォームのモジュールに
 
 
 Private Sub CommandButton1_Click()
 Dim cl As Long
 If get_color(Range("a1"), cl) = True Then
 CommandButton1.BackColor = cl
 End If
 End Sub
 Function get_color(rng As Range, cl As Long) As Boolean
 Dim ans As Boolean
 rng.Parent.Parent.Activate
 rng.Parent.Activate
 rng.Select
 get_color = Application.Dialogs(xlDialogPatterns).Show
 If get_color = True Then
 cl = rng.Interior.Color
 rng.Interior.ColorIndex = xlNone
 End If
 End Function
 
 
 ボタンをクリックすると色指定のダイアログが表示されます(見出しが違うのは
 ご愛嬌)
 
 色を指定してOKボタンでその色がCommandbutton1に反映します。
 試してみてください
 
 |  |