(1) C列に顧客番号を表示しその時の販売金額をH列に表示しております。
顧客番号はC6からC1000に発生順に表示しているため顧客番号は順不同です。
販売金額はH6からH1000に発生順に表示していますす。
列番号 C 列番号 H
行番号 顧客番号 金額
6 100 2000
7 30 3000
~ 500 10
100 30 20000
~ 100 25000
700 30 5000
~ 200 500
1000 100 10000
(2) 上記(1)の表を顧客別・金額順に並べ替えた表を作成したい。
顧客番号はP6からP1000に昇順に表示したい。
販売金額はQ6からZ6に高額順に表示したい。
列番号P 列番号Q 列番号R 列番号S ~ 列番号Z
行番号 顧客番号 金額1 金額2 金額3 金額10
6 30 20000 5000 3000
7 100 25000 10000 2000
8 200 500
9 500 10
~1000
●ご教示のほど宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
一個一個マクロでデータを拾っていっても構いませんが,まぁ折角ですからエクセルにやらせてみましょう。
Sub macro1()
Dim r As Long, h As Long, p As Long
’準備
Range("P6:Z65536").ClearContents
Range("C:C").Copy
Range("P:P").Insert shift:=xlShiftToRight
Range("H:H").Copy
Range("Q:Q").Insert shift:=xlShiftToRight
’並べ替え
Range("P6:Q" & Range("Q65536").End(xlUp).Row).Sort _
key1:=Range("P6"), order1:=xlAscending, _
key2:=Range("Q6"), order2:=xlDescending, _
header:=xlNo
’転記
r = 6
p = 6
Do Until Cells(r, "P") = ""
h = Application.CountIf(Range("P:P"), Cells(r, "P"))
Cells(p, "R") = Cells(r, "P")
Cells(p, "S").Resize(1, h).Value = Application.Transpose(Cells(r, "Q").Resize(h, 1).Value)
r = r + h
p = p + 1
Loop
’片付け
Range("P:Q").Delete shift:=xlShiftToLeft
Cells.EntireColumn.AutoFit
End Sub
keithin様
ご教示ありがとうございました。
ご教示により思い通りの処理が出来ました。
御礼が遅れました事お詫びいたします。
今後とも宜しくお願い致します。
oguno
No.1
- 回答日時:
こんばんは!
一例です。
必ず1000行目までデータがあるとしてのコードです。
画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub test()
Dim i, j As Long
Cells(5, 16) = "顧客番号"
Application.ScreenUpdating = False
For i = 6 To 1000
If WorksheetFunction.CountIf(Columns(16), Cells(i, 3)) = 0 Then
Cells(Rows.Count, 16).End(xlUp).Offset(1) = Cells(i, 3)
End If
Next i
j = Cells(Rows.Count, 16).End(xlUp).Row
Range(Cells(6, 16), Cells(j, 16)).Sort key1:=Cells(5, 16), order1:=xlAscending
For j = 6 To Cells(Rows.Count, 16).End(xlUp).Row
For i = 6 To 1000
If Cells(i, 3) = Cells(j, 16) Then
Cells(j, Columns.Count).End(xlToLeft).Offset(, 1) = Cells(i, 8)
End If
Next i
Next j
For j = 17 To ActiveSheet.UsedRange.Columns.Count
If WorksheetFunction.Count(Columns(j)) Then
Cells(5, Columns.Count).End(xlToLeft).Offset(, 1) = "金額" & j - 16
End If
Next j
Application.ScreenUpdating = True
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数の式を教えてください 2 2022/04/04 11:15
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Excel(エクセル) Excelで、別シートへ情報を参照表示する関数について。 2 2023/06/26 09:58
- 銀行・ネットバンキング・信用金庫 暗証番号無しで出金 2 2023/03/20 10:44
- その他(データベース) 伝票番号、品番、在庫としてマクロでもAccessでもデータ表を作りたいのですが、ご指導お願いします 1 2022/11/13 23:48
- Excel(エクセル) エクセルの使い方について 2 2023/02/07 20:54
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 関数について 5 2022/12/08 11:04
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LEFT JOIN あいまいな外部結合
-
エクセルでリピート率
-
Accessの追加クエリの方法(重...
-
2つのテーブルを結合して最大値...
-
Accessのフォームで思った順番...
-
商品番号を入力すると、商品名...
-
ACCESSでフォーム上のオブジェ...
-
特定条件での連番の振り方を教...
-
コンピュータ
-
各伝票に対して明細を1行目だけ...
-
アクセス メインフォームの伝...
-
正規化の問題
-
IDの欠番
-
差し込み後、元データを変更し...
-
SELECT 文 GROUP での1件目を...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
-
外部参照してるキーを主キーに...
-
重複していないレコードの抽出...
-
1、Rstudioで回帰直線を求める...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
商品番号を入力すると、商品名...
-
2つのテーブルを結合して最大値...
-
コンピュータ
-
Accessのフォームで思った順番...
-
特定条件での連番の振り方を教...
-
各伝票に対して明細を1行目だけ...
-
LEFT JOIN あいまいな外部結合
-
orace SQL文のエラー(ORA-0092...
-
IDの欠番
-
updateでグループ化
-
ACCESSでフォーム上のオブジェ...
-
エクセルでリピート率
-
Word差し込み印刷 数式について
-
文字列のあるキーワードから開...
-
Accessレポート 複数条件での集計
-
アクセスのフォームで連動した...
-
ファイルメーカーpro6で
-
アクセス メインフォームの伝...
-
SQL文:ある状態の明細のみを抽...
-
Access 会員番号4桁にする方法
おすすめ情報