アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております

Range("C2:C4")に値を入力すると
C6に合計がでます。

'①  '②  '③ の部分を一つにまとめることはできますでしょうか



Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rngs As Range, Rng As Range

Set Rng = Intersect(Target, Range("C2:C4"))

If Rng Is Nothing Then Exit Sub

For Each Rngs In Rng

Select Case Rngs.Address(False, False)

Case Is = "C2"   '①

Range("C6").Value = WorksheetFunction.Sum(Range("C2:C4"))

Case Is = "C3"     '②

Range("C6").Value = WorksheetFunction.Sum(Range("C2:C4"))

Case Is = "C4"    '③

Range("C6").Value = WorksheetFunction.Sum(Range("C2:C4"))

End Select




Next

A 回答 (1件)

こんばんは



ケース分けしていますが、どのケースでも処理の内容が全く同じようですので、ケース分けをする意味が無いものと思われます。

ループする必要も無く、
 Range("C6").Value = WorksheetFunction.Sum(Range("C2:C4"))
の1行だけあれば良いのではないでしょうか?
    • good
    • 4
この回答へのお礼

ありがとうございます
すこし考えます。

お礼日時:2023/09/26 12:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A