- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAのChangeイベントについて)
ExcelVBAのChangeイベントについて
このQ&Aのポイント
- VBAのWorkSheet_Changeイベントを使用して、特定の行の変更を検知するコードを作成したいです。
- 行数4行のうち、1行目に変更があった場合にコードが実行されるようにしたいです。
- 行数10行目、14行目、18行目、22行目、26行目など、10の倍数行にはコードが実行されないようにしたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
10・14・18・22・26・・・・ 以外は実行されない Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Row < 10 Or .Row Mod 4 <> 2 Then Exit Sub MsgBox .Row & "行目、実行します。" End With End Sub
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row >= 10 And ((Target.Row - 9) Mod 4 = 1) Then MsgBox Target.Row '本番ではMsgBox の代わりに、処理のコードを書く End If End Sub などどうですか。 ーー テストで、1行目ー30行目までのセルに入力すると 第10,14,18,22、26,30の行で、入力すると、Msgbox表示が現れました。
- kkkkkm
- ベストアンサー率66% (1725/2595)
回答No.2
No1です。 起点を忘れてました。 If (Target.Row - 10) / 4 = Int((Target.Row - 10) / 4) And Target.Row >= 10 Then
- kkkkkm
- ベストアンサー率66% (1725/2595)
回答No.1
> 10・14・18・22・26と「10+4の倍数」は 実行されないコードを 実行されるですよね。 If (Target.Row - 10) / 4 = Int((Target.Row - 10) / 4) Then End If