|
ならば、こんな感じです。シートモジュールに入れたダブルクリックイベントは削除し、
新たに・・
↓シートモジュールに入れます。
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 するコードを消すだけです。
|
|