[[20140423100549]] 『明細書の集計マクロ』(1111) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『明細書の集計マクロ』(1111)

明細書のレイアウト調整や印刷のマクロは作成できたのですが、最後の明細書の集計マクロがどうしてもできません。レイアウトは、

  A列    B        C      D    E    F    G    H 
  業者名 発注番号 納品日 品番 品名 単価 数量 金額
1 A社    10001    4/1    101  A01  100  5    500
2 B社    10002    4/1    101  A01  98   10   980
3 A社    10003    4/1    101  A01  101  10   1010
4 B社    10004    4/1    102  A02  99   10   990
…
上のデータがあり、集計は月計で、下のように別シートに
  A列    B        C      D    E 
  業者名 品番 品名 単価 数量 金額
1 A社    101  A01  100  15   1510
2 B社    101  A01  98   10   980
3 B社    102  A02  99   10   990
…
業者別、品番別に数量と金額を集計し、単価は業者別、品番別の最低単価を持ってきたいのです。件数も2万件、品番も5千程あり困っています。

色々とWEBで調べはしたのですが、わかりませんでした。申し訳ありませんが、よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 シート名が其々Sheet1, Sheet2と想定

 Sub test()
    Dim a, i As Long, txt As String, w
    a = Sheets("sheet1").Cells(1).CurrentRegion.Value
    With CreateObject("Scripting.Dictionary")
        .CompareMOde = 1
        For i = 1 To UBound(a, 1)
            txt = Join(Array(a(i, 1), a(i, 4)), Chr(2))
            If Not .exists(txt) Then
                .Item(txt) = VBA.Array(a(i, 1), a(i, 4), a(i, 5), a(i, 6), a(i, 7), a(i, 8))
            Else
                w = .Item(txt): w(5) = w(5) + a(i, 8): .Item(txt) = w
            End If
        Next
        Sheets("sheet2").Cells(1).Resize(.Count, 6).Value = Application.Index(.items, 0, 0)
    End With
End Sub
(seiya) 2014/04/23(水) 10:25

できました ありがとうございました
(1111) 2014/04/23(水) 10:30

・・・・・・・的確な回答は返ってこないでしょう
(se_9) 2014/04/23(水) 10:33

 seiyaさんっ。
 >単価は業者別、品番別の最低単価を持ってきたいのです。
 ぶぶんは。。。。
  
(HANA) 2014/04/23(水) 10:43

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.