|
▼初心者です。 さん:
こんばんは。
何らかの元データを集計する・・、情報処理ですよね?
この場合、入力データがあって、これを処理するVBAコードがあって、
本来望んでいる出力結果があるはずなんです。
その内の処理するコードしか投稿されていません。
本来は、入力データとして、
・
・
・
このようなデータがある時、
以下のコードを実行させました。
以下のような結果になることを想定しているのですが、
・
・
・
・
全く別シートに表示されません。
という記述が必要です。
これを記述しててください。
>
>対象データを範囲指定を利用して処理する最後の行数を取得
>しているのですがうまくいきません。
>
>どなたか教えて下さい。
>御願いします。
>
>KEYにしているのは名前です。(文字列)
>加算するのは、金額です。
>
> Dim i As Long
>
> Dim vnt, a
> Dim dic As Object
>
> With Sheets("作業")
> vnt = .Range("M1", .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, 13)) Then
> ReDim a(2)
> a(0) = vnt(i, 13)
> Else
> a = dic(vnt(i, 13))
> End If
> a(1) = a(1) + vnt(i, 11)
> dic(vnt(i, 13)) = a
> Next i
>
> '-----結果出力
> With Sheets("集計")
> .Cells.ClearContents
> .Range("A1").Resize(, 2).Value = Array("仕入先名称", "仕入金額")
>
> .Range("A2").Resize(dic.Count, 2).Value = Application _
> .Transpose(Application.Transpose(dic.items))
> .Select
> End With
> '
> Erase vnt
> Set dic = Nothing
|
|