以前に書いてもらった下記のコード(I4に入力した数値をF4に加算していく)をコピーして他のセル(I5に入力したらF5に加算 等)にも使いたいのですが、単純にコピーすると「名前が重複しています」とエラーがでます。マクロはほぼ初心者の為、どなたかご教授下さい。下記が組んでもらったコードです。Private Sub Worksheet_Change(ByVal Target As Range)If Intersect(Target, Range(\u0026quot;I4\u0026quot;)) Is Nothing Then Exit SubApplication.EnableEvents = FalseRange(\u0026quot;F4\u0026quot;).Value = Range(\u0026quot;F4\u0026quot;).Value + Target.ValueApplication.EnableEvents = TrueEnd Sub

1件の回答

回答を書く

1091706

2026-01-29 06:50

+ フォロー

Worksheet_Change は同じシート内に複数作れないので、1つのマクロにまとめて「I列のどの行が変わっても、その行のF列に加算する」書き方に直すと良いです。

例として、下のコードに差し替えてください。(該当シートのコードモジュールに、この1つだけ置きます)

Private Sub Worksheet_Change(ByVal Target As Range)

' 複数セル同時変更は無視
If Target.CountLarge \u0026gt; 1 Then Exit Sub

' I列以外の変更なら終了
If Intersect(Target, Range(\u0026quot;I:I\u0026quot;)) Is Nothing Then Exit Sub

Application.EnableEvents = False

' 変更されたセルと同じ行のF列に加算
Cells(Target.Row, \u0026quot;F\u0026quot;).Value = Cells(Target.Row, \u0026quot;F\u0026quot;).Value + Target.Value

Application.EnableEvents = True

End Sub

こうしておけば、I4を変えればF4に、I5を変えればF5に…という形で、自動的に「同じ行のF列」に加算されます。行ごとに別のマクロを書く必要はありません。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有