またExcelのVBAについて質問です。


http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_dictionary.html
こちらのサイトの「重複しない品名と個数の合計を計算します」の修正の仕方を教えてください。

元データで、B列からE列に数値があった場合の合計をだす
コードの修正方法がわかりません。

よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/13 18:36:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント400pt

>B列からE列に数値があった場合の合計をだす

このソースを見てみると まず 合計先を消去してから 順に品名を転記し、
既に 品名があった場合は、その単価を合計するようになっています。

つまり、修正は 不要です。

もし違う意味でしたら、コメントをください。

他2件のコメントを見る
id:sunfkin22

いつも回答頂きありがとうございます!

日々、勉強をしているのですが、
まだまだ覚えないと行けませんね。
今回も大変助かりました。
ありがとうございました!

2013/03/13 18:32:49
id:taknt

修正箇所をみて 応用できるように がんばってくださいね。

2013/03/13 18:33:58

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198ここでベストアンサー

ポイント400pt

>B列からE列に数値があった場合の合計をだす

このソースを見てみると まず 合計先を消去してから 順に品名を転記し、
既に 品名があった場合は、その単価を合計するようになっています。

つまり、修正は 不要です。

もし違う意味でしたら、コメントをください。

他2件のコメントを見る
id:sunfkin22

いつも回答頂きありがとうございます!

日々、勉強をしているのですが、
まだまだ覚えないと行けませんね。
今回も大変助かりました。
ありがとうございました!

2013/03/13 18:32:49
id:taknt

修正箇所をみて 応用できるように がんばってくださいね。

2013/03/13 18:33:58
id:sunfkin22

商品  A店 B店 C店 D店

りんご 200 200 150 120

みかん  80 100  90  95

りんご 120 130 110 100

と行った場合の、商品ごとにまとめて、

かつ店舗ごとの合計をだしたいと思っていました。

よろしくお願いします。

id:windofjuly No.2

回答回数2625ベストアンサー獲得回数1149

ポイント130pt

ご質問の目的であればVBAではなくExcelの集計機能で出来ますが、どうしてもVBAですか?

下記は同じサイト内にある集計の一例です。
http://www.eurus.dti.ne.jp/yoneyama/Excel/syukei.html
ほかにもピボットテーブルなど様々な集計方法がありますので、
順次学習していくと良いでしょう。

VBAでやりたいという場合ですが、Dictionary は一次元の連想配列のため、
複数の列をまとめて取り扱うことには向いていません。参考にしておられるページは、
Dictionaryの使い方の例であって集計の例ではないということです。

Excelにはマクロ記録という機能があります。、
集計作業からコピーまでの作業を記録させてマクロの雛形を作り、
そこに手を加えるという方法でプログラミングを覚えていくこともできますので、あわせてどうぞ。

id:windofjuly

Dictionary でがんばった人もいるみたいですが、
Excelの機能を利用したVBAでは下記のように短いもので済みます。

短いものは実行時間も短いですし、作成ミスも少ないですし、
後から見直しも楽になりますし、転用も楽になります。

Sub Macro1()
    With ActiveSheet ' アクティブなシートを対象とします。
        .Range("G:K").ClearContents ' G:K列に書き出すものとしてまずはクリアします。
        ' R1C1(A1)からR10C5(E10)までのデータを集計するものとします。
        .Range("G1").Consolidate _
            Sources:=Array("R1C1:R10C5"), _
            Function:=xlSum, _
            TopRow:=True, LeftColumn:=True, _
            CreateLinks:=False
    End With
End Sub
2013/03/13 18:22:57
id:sunfkin22

マクロの記録は、時々してそれに手を加えたりもするのですが、
基礎がまだしっかり身についていなのでいつも苦労しています。

アドダイス、大変参考になりました!

2013/03/13 18:35:18
  • id:sunfkin22
    結果として、
    商品  A店 B店 C店 D店
    りんご 320 330 260 220
    みかん  80 100  90  95

    となるようにしたいと思っています。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません