[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同一セル内での累積の計算』(Beet)
過去の質問で『同一セル内での累積の計算』という のを拝見いたしまして弥太郎様のお示しになったコ ードを使わせていただきうまく行ったのですが同じ シート内に『累積の計算』を複数行設置したいので すが コードをどのようにすればよろしいでしょうか。
使わせていただいたコードは次のとおりです。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then End
If Range(Target.Address) <> Range("B2") Then End
Application.EnableEvents = False
Range("C2") = Range("C2") + Target
Application.EnableEvents = True
End Sub
この中身を単純にコピーしてRange("B2") をRange("B3") などと
してももだめ見たいなのですが、ご指導をお願いします。
(Beet)
上記のコードは
If Range(Target.Address) <> Range("B2") Then End の部分がB2セルに限定されているようですね。
どこのセルで使いたいかを提示していただけますか。 B3に変えればB3に入力したものが、C2セルに累計されるようになりますね。 (川野鮎太郎)
川野様、地震の中お答えいただきまして誠にありがとうございます。
A B C D E
日付 商品 数 単価 合計
1 10/1 A
2 10/1 B
3 10/1 C
このように同じことを数行に渡ってやりたいのですが・・・
よろしくお願いいたします。
(Beet)
えっとー・・あのー・・・、上の表でどの部分を入力するのでしょうか。 どこに入力して、どのようになりたいのかを書いていただかないと・・・。 ※私も基本的には、同一セルでの累計はお勧めしませんが・・。 というか、自分では絶対に使いません(^_^A; なぜならば・・・・・ 入力ミスが多いからです! 残念!!_/ ̄|○ il||li (川野鮎太郎)
ごめんなさい。ひどく間違えました。 個数 累計 単価 合計 りんご n 30 500 15000 みかん n 24 500 12000 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ こういう風にできないかと思っています。 (Beet)
川野さんの仰る事はVBAでリンゴの個数の所に数字を入れ累計を加算させていくのは 3と入れたつもりで2を打ち込んでしまった時、修正に手間がかかる、 まだ、気が付けば良いのですが、気が付かなければ最悪です。 どこでどう間違ったのか分らない?どうにもならない。 VBAを使わずになら、例えばSheet1に日付、品名、個数などをDBとして、入力していきます。 Sheet2にSUMIF関数、ピボットテーブルなどを利用して集計する。方法が良いかと思います。 VBAを利用するなら上のコードにプラスして各品名に対して、打ち込んだ数字が一覧として 表示されるようにした方が良いと思います。 (ケン)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then End
If Target.Column <> 2 Then End
Application.EnableEvents = False
Target.Offset(,1).value=Target.value+Target.Offset(,1).value
Application.EnableEvents = True
End Sub
かしら? (Don)
衝突しました。 先ほどの書いたものを書いてみました。参考程度に・・ A B C D E F G H 1 個数 累計 単価 合計 品名 個数 2 りんご n 30 500 15000 3 みかん n 24 500 12000 として、
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastR As Long
LastR = Range("G65536").End(xlUp).Row + 1
If Target.Count > 1 Then End
If Target.Column <> 2 Then End
Application.EnableEvents = False
Target.Offset(, 1) = Target.Offset(, 1) + Target.Value
Range("G" & LastR).Value = Target.Offset(, -1).Value
Range("H" & LastR).Value = Target.Value
Application.EnableEvents = True
End Sub
こんな感じにします。他シートに転記しても良いかもです。
(ケン)参考程度に・・・
皆様、どうもありがとうございました。 Don様の教えていただいたコードで私の求めていた事はできました。 でも、川野様、ケン様の仰るように「個数の所に数字を入れ累計を 加算させていくのは3と入れたつもりで2を打ち込んでしまった時、 修正に手間がかかる」を考えますとごもっともだと思いました。 今一度よーく考えて見ます。 ありがとうございました。 (Beet)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.