| 
    
     |  | こんにちは。かみちゃん です。 
 >Changeイベントで出来ますが・・・
 
 とりあえず、Changeイベントの例です。
 ある程度のエラー(セルを2つ選択して、DELを押したり、入力時に Ctrl+Enterで確定したときなど)に対応しています。
 これらのエラーの対応を考えなくてよければ、もう少しスマートになりますが・・・
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Rng As Range
 Dim StrTgtRng As String
 
 '機能させる範囲を指定
 '方法1--B列全体
 StrTgtRng = Cells(1, 2).Address & ":" & Cells(Columns(2).Rows.Count, 2).Address()
 '方法2--特定の範囲
 'StrTgtRng = "B1:B20"
 
 'Changeイベント時の対象セルと機能させるセルに一致しているセル範囲を取得
 Set Target = Intersect(Range(StrTgtRng), Target)
 '一致セルがなければ、何もしない
 If Target Is Nothing Then Exit Sub
 For Each Rng In Target
 '一致セルの隣のセルの値を置き換える
 Rng.Offset(0, 1).Value = Rng.Offset(0, 1).Value + Rng.Value
 Next Rng
 End Sub
 
 |  |