|
こんにちは。かみちゃん です。
>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
|
|