- ベストアンサー
Excelで複数のセルを加算するマクロの使い方について教えてください
- Excelで特定の範囲の複数のセルを加算するマクロの使い方を教えてください。
- マクロを使って、A1からC1の範囲に入力された値を加算する方法を教えてください。
- 記事ではA1セルに入力された場合のみにマクロが適用されるようになっていますが、A1からC1の範囲でマクロを使用する方法はありますか?もしくは、このマクロは複数のセルで使用することができるのでしょうか?
- みんなの回答 (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
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
こんなのは、ニーズに出くわして、調べて、覚えておくしかない。 「 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 "範囲内" の行に、実際の処理のコード行で入れ替える。
お礼
早急な回答ありがとうございました。 こんなこともできるんですね^^