以前、教えてもらいもしたコードです。
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
No.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
ではないですかね?
いろいろやったんですけど
2時間ぐらい自分やったんですけど
うまくいきませんでした。
やはり、やり方を聞くしかないと思い
うまくいきました。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでこのコード自体に意味は無...
-
連想配列のキー値(連番)を基...
-
Excel VBAでフィルター後の対象...
-
PHP、{}記号の意味
-
PHPの構文で間違えが分からない
-
PHPで連想配列のプルダウンメニ...
-
関数をの引数について。
-
リストボックス複数選択抽出方法
-
foreachとかの勝手な省略?
-
プログラミングのPythonのnoteb...
-
スカラーのベクトル微分
-
配列をループでたくさん宣言し...
-
ヒアドキュメントの中のfor文
-
file_existsでファイル名の部分...
-
foreachのなかで次のキーを参照...
-
PHPで多次元配列を一度に処理す...
-
phpの関数について質問です!
-
While文を使って配列の中身を全...
-
配列データのMySQLへの登録
-
phpのin_array()でわからない事...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マッチング処理(1:N)
-
smartyのforeachの使い方
-
foreachで上限回数指定方法また...
-
多次元配列を、1次元の配列にす...
-
foreachの間にテーブルの<TR>を...
-
PHP、{}記号の意味
-
$_POST受信で必要項目のみを結...
-
3つの連想配列を交互に代入し...
-
VB.NET で 二次元のハッシュは...
-
PHP:ツリー構造をulとli要素に...
-
foreachで配列を、左から縦3列...
-
PHPの構文で間違えが分からない
-
PHPで連想配列のプルダウンメニ...
-
添え字が全て文字列のPHPの多次...
-
POSTで渡されるデータの数がわ...
-
テーブルデータ表示
-
Smartyでインクリメント
-
PHPで変数名にハイフンを使うに...
-
Delphi XEの警告文を消したい
-
配列から順位を算出したい
おすすめ情報