[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同一セル内での累積の計算』(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.