Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


65806 / 76734 ←次へ | 前へ→

【15499】Re:合計
回答  かみちゃん  - 04/6/27(日) 14:40 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>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

0 hits

【15490】合計 もみじ 04/6/27(日) 7:51 質問
【15492】Re:合計 IROC 04/6/27(日) 10:08 回答
【15499】Re:合計 かみちゃん 04/6/27(日) 14:40 回答
【15503】Re:合計 もみじ 04/6/27(日) 21:11 お礼
【15502】Re:合計 もみじ 04/6/27(日) 21:10 お礼

65806 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free