Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27511 / 76736 ←次へ | 前へ→

【54544】Re:行や列の挿入後の処理
回答  VBWASURETA  - 08/3/17(月) 15:57 -

引用なし
パスワード
   修正と全体ソースです。気づかれた方もいらっしゃると思いますが
インスタンスが生成されて増えていくソースでしたので
インスタンスを消す処理と初期時の処理も入れました。


'******** シートオブジェクトモジュール *******
Private Sub Worksheet_Activate()
  Call testWrapRowOn
End Sub

Private Sub Worksheet_Deactivate()
  Call testWrapRowOff
End Sub


'******** 標準モジュール *******
'標準モジュール
Option Explicit
Dim drow As CWrapRow

'行挿入コマンドのラップ開始
Function testWrapRowOn()
 '既にインスタンスが生成されている場合は作らない
 If drow Is Nothing Then
  Set drow = New CWrapRow
  drow.Initialize
 End If
End Function
'行挿入コマンドのラップ終了
Function testWrapRowOff()
 If drow Is Nothing Then
  Exit Function
 End If
 drow.Terminate
 Set drow = Nothing
End Function


Sub Auto_Open()
 Call testWrapRowOn
End Sub

Sub Auto_Close()
 Call testWrapRowOff
End Sub


'******** クラスモジュール *******
'クラスの追加後、クラス名を「CWrapRow」に変更してください
'CWrapRow クラスモジュール
'[行の挿入]コマンドをカスタマイズ
Option Explicit
Public WithEvents Row As Office.CommandBarButton
Dim dcol As New Collection

'行挿入ラップ開始処理
Sub Initialize()
 On Error GoTo inierr
 Dim eve As New CWrapRow, ele
 Dim i As Long
 
 'Id=296 行(&R)、Id=3182 セル(&E)、Id=3183 挿入(&I)
 For Each ele In Array(295, 296, 297, 3182, 3183, 3185)
  Set eve.Row = Application.CommandBars.FindControl(ID:=ele)
  dcol.Add eve
  Set eve = Nothing '必須
 Next
Exit Sub
inierr:
MsgBox i & " error"
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

0 hits

【54444】行や列の挿入後の処理 JuJu 08/3/13(木) 12:09 質問
【54465】Re:行や列の挿入後の処理 ぽむじぃ 08/3/14(金) 10:55 回答
【54467】Re:行や列の挿入後の処理 VBWASURETA 08/3/14(金) 11:12 回答
【54468】Re:行や列の挿入後の処理 Jaka 08/3/14(金) 11:15 発言
【54470】Re:行や列の挿入後の処理 VBWASURETA 08/3/14(金) 11:24 発言
【54471】Re:行や列の挿入後の処理 Jaka 08/3/14(金) 12:39 発言
【54472】Re:行や列の挿入後の処理 VBWASURETA 08/3/14(金) 13:02 発言
【54473】Re:行や列の挿入後の処理 VBWASURETA 08/3/14(金) 15:00 発言
【54475】Re:行や列の挿入後の処理 ハチ 08/3/14(金) 16:11 発言
【54481】Re:行や列の挿入後の処理 ハチ 08/3/14(金) 19:22 発言
【54533】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 12:01 発言
【54534】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 13:13 回答
【54535】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 13:41 発言
【54536】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 13:50 発言
【54542】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 15:15 発言
【54544】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 15:57 回答
【54482】Re:行や列の挿入後の処理 JuJu 08/3/14(金) 22:25 発言
【54483】Re:行や列の挿入後の処理 VBWASURETA 08/3/14(金) 23:44 発言
【54530】Re:行や列の挿入後の処理 ハチ 08/3/17(月) 10:17 発言
【54545】Re:行や列の挿入後の処理 VBWASURETA 08/3/17(月) 18:22 発言
【54549】Re:行や列の挿入後の処理 VBWASURETA 08/3/18(火) 11:55 発言

27511 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free