| 
    
     |  | ならば、こんな感じです。シートモジュールに入れたダブルクリックイベントは削除し、 新たに・・
 
 ↓シートモジュールに入れます。
 
 Private Sub Worksheet_Activate()
 Dim Wp As Single, Hp As Single
 
 ActiveSheet.DropDowns.Delete
 With Range("A1")
 Wp = .Width * 2: Hp = .Height
 End With
 With ActiveSheet.DropDowns.Add(0, 0, Wp, Hp)
 .AddItem "○○をする"
 .AddItem "△△をする"
 .AddItem "××をする"
 .OnAction = "SetMacro"
 End With
 End Sub
 
 Private Sub Worksheet_Deactivate()
 Worksheets("Sheet1").DropDowns.Delete
 '↑シート名は正確なものに変更
 End Sub
 
 ↓標準モジュールに入れます。
 
 Sub SetMacro()
 Dim x As Variant
 
 x = Application.Caller
 If VarType(x) <> 8 Then Exit Sub
 With ActiveSheet.DropDowns(x)
 Select Case .ListIndex
 Case 1: Call A
 Case 2: Call B
 Case 3: Call C
 End Select
 End With
 End Sub
 
 Sub A()
 ここに A の処理を書く(○○の場合です)
 End Sub
 
 Sub B()
 ここに B の処理を書く(△△の場合です)
 End Sub
 
 Sub C()
 ここに C の処理を書く(××の場合です)
 End Sub
 
 * 変更点は、DoropDown(フォームのコンボボックスのこと)を
 Delete するコードを消すだけです。
 
 
 |  |