• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 加算 )

Excelで複数のセルを加算するマクロの使い方について教えてください

このQ&Aのポイント
  • Excelで特定の範囲の複数のセルを加算するマクロの使い方を教えてください。
  • マクロを使って、A1からC1の範囲に入力された値を加算する方法を教えてください。
  • 記事ではA1セルに入力された場合のみにマクロが適用されるようになっていますが、A1からC1の範囲でマクロを使用する方法はありますか?もしくは、このマクロは複数のセルで使用することができるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.2

若干仕様変更してあります。 上げたプログラムは、**入力でクリアしていましたが、 このプログラムはDel で削除するとクリアします。 A1~C1一度にクリアが可能です。別々でもできます。 Option Explicit ' Private Sub Worksheet_Change(ByVal Target As Range) '   Static Memo(1 To 3) As Long   Dim Cell As Range '   If Intersect([A1:C1], Target) Is Nothing Then     Exit Sub   End If '   For Each Cell In Target '     If Cell = "" Then       Memo(Cell.Column) = 0     End If   Next Cell   Set Cell = Target(1) '   If Not IsNumeric(Cell) Or Cell = "" Then     Exit Sub   End If '   Application.EnableEvents = False   Memo(Cell.Column) = Memo(Cell.Column) + Target   Target = Memo(Cell.Column)   Application.EnableEvents = True End Sub

19980517
質問者

お礼

早急な回答ありがとうございました。 こんなこともできるんですね^^

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

こんなのは、ニーズに出くわして、調べて、覚えておくしかない。 「 Intersect」というメソッドをね。 Googleで「VBA  Intersect」で照会すること。 質問の例で言うと シートをSheet1として、そのChangeイベントに 下記を作る。 Private Sub Worksheet_Change(ByVal Target As Range) With ActiveSheet Set rngPvt = Intersect(Target, .Range("$A$1:$C$1")) If Not rngPvt Is Nothing Then MsgBox "範囲内" End If End With End Sub A1:C1の値を変化させたら、「範囲内」とでる。 本番では、MsgBox "範囲内"  の行に、実際の処理のコード行で入れ替える。

関連するQ&A