Excel VBA質問箱 IV

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

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


41245 / 76732 ←次へ | 前へ→

【40568】Re:集計表について
お礼  サン E-MAIL  - 06/7/18(火) 12:16 -

引用なし
パスワード
   ▼kobasan さん:
おはようございます。

夜遅くまで申し訳ございませんでした。
集計が出来ました。
本当に有難うございます。

お伺いしたいのですが、
ReDim a(6)
>      a(0) = vnt(i, 1)
>      a(1) = vnt(i, 2)
>      a(2) = vnt(i, 3)
>      a(3) = vnt(i, 4)
>    Else
>      a = dic(vnt(i, 1))
>    End If
>    a(4) = a(4) + vnt(i, 5)
>    a(5) = a(5) + vnt(i, 6)
>    a(6) = a(6) + vnt(i, 7)
>    dic(vnt(i, 1)) = a
>  Next i

の式は、どういう事を指令しているのか
教えて頂けますでしょうか。
今後の勉強の参考にしたいので
ご面倒なのですが、教えて頂けますでしょうか。

御忙しい所、申し訳ございません。


>サン さん 今晩は。
>
>私は、こんなのを見ると、すぐdictionaryを使いたくなるんです。
>標準モジュールに貼り付けて使ってみてください。
>
>Sub 集計3()
>Dim vnt, a
>Dim i As Long
>Dim dic As Object
>  '
>  With Sheets("Sheet1")
>    vnt = .Range("G2", .Range("A65536").End(xlUp)).Value
>  End With
>  '
>  Set dic = CreateObject("Scripting.Dictionary")
>  For i = 1 To UBound(vnt, 1)
>    If Not dic.exists(vnt(i, 1)) Then
>      ReDim a(6)
>      a(0) = vnt(i, 1)
>      a(1) = vnt(i, 2)
>      a(2) = vnt(i, 3)
>      a(3) = vnt(i, 4)
>    Else
>      a = dic(vnt(i, 1))
>    End If
>    a(4) = a(4) + vnt(i, 5)
>    a(5) = a(5) + vnt(i, 6)
>    a(6) = a(6) + vnt(i, 7)
>    dic(vnt(i, 1)) = a
>  Next i
>  '-----結果出力
>  With Sheets("Sheet2")
>    .Cells.ClearContents
>    .Range("A1").Resize(, 7).Value = Array("コード", "業種", _
>          "顧客名", "フリガナ", "売上", "消費税", "合計")
>    .Range("A2").Resize(dic.Count, 7).Value = Application _
>          .Transpose(Application.Transpose(dic.items))
>    .Select
>  End With
>  '
>  Erase vnt
>  Set dic = Nothing
>End Sub
>
>
>>下記のような売上表を顧客名に別のシートにデータを
>
>>シート1
>>コード  業種 顧客名 フリガナ     売上    消費税    合計
>>000001    04 ××  ××     5,000    250    5、250
>>000001    42 ××  ××     5,000    250    5、250    
>>000002    42 ○○      ××     1,000    50    1,050
>>000002  04 ○○  ××     1,000    50    1,050
>> ・
>> ・
>> ・
>>
>>
>>シート2
>>コード  業種 顧客名 フリガナ     売上    消費税    合計
>>000001      ××  ××     10,000    500    10、500
>>000002      ○○  ××     2,000    100    2、100
>> ・
>> ・ 
>> ・
>>とするのには、どうすれば宜しいでしょうか。

0 hits

【40478】集計表について サン 06/7/14(金) 15:14 質問
【40490】Re:集計表について kobasan 06/7/14(金) 22:25 回答
【40568】Re:集計表について サン 06/7/18(火) 12:16 お礼
【40652】Re:集計表について kobasan 06/7/19(水) 18:48 回答
【40662】Re:集計表について サン 06/7/20(木) 9:55 お礼
【40732】Re:集計表について サン 06/7/21(金) 16:53 質問
【40739】Re:集計表について kobasan 06/7/21(金) 20:43 回答
【40747】Re:集計表について ichinose 06/7/22(土) 8:13 発言
【40755】Re:集計表について kobasan 06/7/22(土) 18:44 発言
【40759】Re:集計表について ichinose 06/7/23(日) 11:20 発言
【40825】Re:集計表について' kobasan 06/7/24(月) 20:16 発言
【40834】Re:集計表について' ichinose 06/7/24(月) 23:12 発言
【40902】Re:集計表について' kobasan 06/7/25(火) 22:45 お礼
【40782】Re:集計表について サン 06/7/24(月) 10:04 お礼
【40491】Re:集計表について Kein 06/7/14(金) 22:31 回答
【40569】Re:集計表について サン 06/7/18(火) 12:24 お礼
【40632】Re:集計表について Kein 06/7/19(水) 14:22 回答
【40633】Re:集計表について サン 06/7/19(水) 14:28 お礼

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