アプリ版:「スタンプのみでお礼する」機能のリリースについて

以前、教えてもらいもしたコードです。
For Each key In dicT
ix = dicT(key)
Cells(wrow, "G").Value = key '①追加

For mm = 1 To 12
cx = mm - 4

If cx < 0 Then cx = cx + 12
wcol = 8 + 2 * cx

Cells(wrow, wcol).Value = count(ix, mm) '件数設定
Cells(wrow, wcol + 1).Value = price(ix, mm) '金額設定
Next

wrow = wrow + 1
Next
この上記の部分を
Cells(wrow, "B").Value = key '①追加
Worksheets("抽出").Cells(wrow, wcol).Value = count(ix, mm)
Worksheets("抽出").Cells(wrow, wcol + 1).Value = price(ix, mm)
Worksheets("抽出")のB列がKEY
C列から4月の個数 合計にするにはどうしたらいいのか。
おしえてくれませんでしょうか
ご無理申し上げます。
添付ファイルのように抽出したいのですが。

--------------------------------------------------------------
前回のコード↓


Option Explicit

Sub 集計()
Dim dicT As Object
Dim maxrow As Long
Dim wrow As Long
Dim wcol As Long
Const max_person As Long = 1000 '最大人数
Dim price(max_person, 12) As Long '金額
Dim count(max_person, 12) As Long '件数
Dim pix As Long 'price&countへのindex
Dim ix As Long 'price&countへのindex
Dim key As Variant
Dim mm As Long
Dim cx As Long
pix = 1
Set dicT = CreateObject("Scripting.Dictionary") ' 連想配列の定義
maxrow = Cells(Rows.count, 1).End(xlUp).Row '1列目の最終行を求める
For wrow = 2 To maxrow
key = Cells(wrow, "D").Value
If dicT.exists(key) = True Then
ix = dicT(key)
Else
dicT(key) = pix
ix = pix
pix = pix + 1
End If
mm = Month(Cells(wrow, "A").Value) '月を算出
price(ix, mm) = price(ix, mm) + Cells(wrow, "E").Value '金額加算
count(ix, mm) = count(ix, mm) + 1 '件数加算
Next
wrow = 3

For Each key In dicT
ix = dicT(key)
Cells(wrow, "G").Value = key '①追加

For mm = 1 To 12
cx = mm - 4

If cx < 0 Then cx = cx + 12
wcol = 8 + 2 * cx

Cells(wrow, wcol).Value = count(ix, mm) '件数設定
Cells(wrow, wcol + 1).Value = price(ix, mm) '金額設定
Next

wrow = wrow + 1
Next
End Sub

「超難問 Scripting.Dictio」の質問画像

A 回答 (1件)

前回の質問のリンクを貼って頂くとわかりやすかったかもですが。



まず、

Worksheets("抽出").Cells(wrow, "B").Value = key '①追加

シート名は忘れずに。(念のため)

>wcol = 8 + 2 * cx

ここで列数の補正をかけているみたいですね。
例えば4月なら

cx = 4 - 4 'で 0

If cx < 0 Then cx = cx + 12 ' ここはスルー
wcol = 8 + 2 * 0 'で 8 (H列)

ですから4月を3列目にしたいのであれば、

wcol = 3 + 2 * cx

ではないですかね?
    • good
    • 0
この回答へのお礼

いろいろやったんですけど
2時間ぐらい自分やったんですけど
うまくいきませんでした。
やはり、やり方を聞くしかないと思い
うまくいきました。
有難うございました。

お礼日時:2019/06/12 18:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!