Excel2000 VBA エンターキーを押して右、下移動、無効、マクロ用コマンドバー作成 [Excel2000 VBA独習]
Excel2000 VBA エンターキーを押して右、下、無効、マクロ用コマンドバー作成
マクロを実行して作成されたコマンドバーをツールバーにドラッグ&ドロップする。
Sub コマンドバーカーソル移動作成()
'コマンドバーを作成して
'エンターキーを押して下移動、右移動、移動なしのマクロボタンを追加作成
'コマンドバーをツールバーのドラッグ&ドロップする
Dim Mname As String
Dim barName As Variant
Dim myBar As CommandBar
'--- コマンドバーを作成(コマンドバー名=カーソル移動) ---
Mname = "カーソル移動"
'ツールバーに「カーソル移動」が有るか調べ無ければ作成
For Each barName In CommandBars
'Debug.Print barName.Name
If barName.Name = Mname Then barName.Delete '"カーソル移動"を削除する
Next
'新しいコマンドバーを作成
Set myBar = CommandBars.Add(Name:=Mname)
myBar.Visible = True
'オリジナルのコマンド作成
With myBar.Controls.Add
.Caption = "右移動"
.FaceId = 39
.OnAction = "cursor_right" 'エンターキーを押して右移動
End With
With myBar.Controls.Add
.Caption = "下移動"
.FaceId = 40
.OnAction = "cursor_down" 'エンターキーを押して下移動
End With
With myBar.Controls.Add
.Caption = "移動なし"
.FaceId = 330
.OnAction = "move_after_false" '移動なし
End With
' With myBar.Controls.Add
' .FaceId =
' .OnAction = "" '追加用
' End With
' With myBar.Controls.Add
' .FaceId =
' .OnAction = "" '追加用
' End With
Set myBar = Nothing
End Sub
Sub cursor_right()
'
' enter で右移動
'
'エンターキーを押して右移動
Application.MoveAfterReturn = True
Application.MoveAfterReturnDirection = xlToRight
End Sub
Sub cursor_down()
'
' enter で下移動
'
'エンターキーを押して下移動
Application.MoveAfterReturn = True
Application.MoveAfterReturnDirection = xlDown
End Sub
Sub move_after_false()
'
' enter で移動無効
'
'エンターキーを押して移動を無効
Application.MoveAfterReturn = False
End Sub
コメント 0