|
▼VBWASURETA さん:
ちょっと行追加のイベント見つけました。
ただ残念なのは右クリックメニューには対応していないようです。
'********** シートオブジェクトモジュール **************
Private Sub Worksheet_Activate()
Call testWrapRowOn 'トラップ開始
End Sub
'********** 標準モジュール **************
'標準モジュール
Option Explicit
Dim drow As CWrapRow
'行挿入コマンドのラップ開始
Function testWrapRowOn()
Set drow = New CWrapRow
drow.Initialize
End Function
'行挿入コマンドのラップ終了
Function testWrapRowOff()
drow.Terminate
Set drow = Nothing
End Function
'********** クラスモジュール **************
'クラス追加してクラス名を「CWrapRow」して下さい
'CWrapRow クラスモジュール
'[行の挿入]コマンドをカスタマイズ
Option Explicit
Public WithEvents Row As Office.CommandBarButton
Dim dcol As New Collection
'行挿入ラップ開始処理
Sub Initialize()
Dim eve As New CWrapRow, ele
'Id=296 行(&R)、Id=3182 セル(&E)、Id=3183 挿入(&I)
For Each ele In Array(296, 3182, 3183)
Set eve.Row = Application.CommandBars.FindControl(ID:=ele)
dcol.Add eve
Set eve = Nothing '必須
Next
End Sub
'行挿入ラップ終了処理
Sub Terminate()
Set dcol = Nothing
End Sub
'行挿入イベント(行挿入イベントに応答するカスタムコードを記述)
Private Sub Row_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox "行挿入 " & Selection.Address '確認用
'ここで行挿入前の処理
'
CancelDefault = True '行挿入をキャンセル
Selection.EntireRow.Insert '行挿入実行
'ここで行挿入後の処理
'
End Sub
|
|