絵下から3つ分をExcelの右クリックメニューに追加するには、
まず標準モジュールに次のコマンドを書く。
Sub AddMenu1()
Dim Newb1
Set Newb1 = Application.CommandBars("Cell").Controls.Add()
With Newb1
.Caption = "カーソル↓"
.OnAction = "Sample1"
.BeginGroup = False
End With
End Sub
Sub Sample1()
Application.MoveAfterReturnDirection = xlDown
End Sub
Sub DelMenu1()
Application.CommandBars("Cell").Controls("カーソル↓").Delete
End Sub
Sub AddMenu2()
Dim Newb2
Set Newb2 = Application.CommandBars("Cell").Controls.Add()
With Newb2
.Caption = "カーソル→"
.OnAction = "Sample2"
.BeginGroup = False
End With
End Sub
Sub Sample2()
Application.MoveAfterReturnDirection = xlToRight
End Sub
Sub DelMenu2()
Application.CommandBars("Cell").Controls("カーソル→").Delete
End Sub
Sub AddMenu3()
Dim Newb3
Set Newb3 = Application.CommandBars("Cell").Controls.Add()
With Newb3
.Caption = "値変換"
.OnAction = "Sample3"
.BeginGroup = False
End With
End Sub
Sub Sample3()
Dim myrng As Range
On Error GoTo エラー処理
ActiveCell.Value = ActiveCell.Value
エラー処理:
Exit Sub
On Error GoTo 0
End Sub
Sub DelMenu3()
Application.CommandBars("Cell").Controls("値変換").Delete
End Sub
'メニューが一杯出てきたときに対応((笑))
Sub 右クリックメニュー全削除()
Application.CommandBars("cell").Reset
End Sub
そしたら今度は、This WorkBookに以下のコマンドを書きましょう。
Private Sub Workbook_Open()
Application.CommandBars("cell").Reset
Call AddMenu1
Call AddMenu2
Call AddMenu3
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call DelMenu1
Call DelMenu2
Call AddMenu3
Application.MoveAfterReturnDirection = xlToRight
End Sub
そして書き終えたら、一旦これを「Excel マクロ有効ブック」で保存する。
拡張子は .xlsm
そして次にそのまま今度は、このファイルを「Excelアドイン」で保存する。
拡張子は.xlamだ。
ちょっと、一杯呑んで書いてるから、訳解らんようになってきた・・・