[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コード毎にセル内容をまとめる方法』(セル)
下記の様なデータ処理を手作業で行っておりますが
データ量も増えてきた為、かなり大変な作業になりまして
何か良い方法があればご教授頂きたいと思い投稿させて頂きました。
A列(コード)・B列(空白)・C列(空白)・D列(備考)・E列・F列
1 11111 内容
2 11111 内容
3 22222 内容
4 22222 内容
5 22222 内容
6 22222 内容
7 33333 内容
8 33333 内容
9 33333 内容
10 33333 内容
・
・
・
・
上記の様なデータのD列(備考)ですが、社名や品番など複数の内容を
1つのセルに纏めたものになります。
その為まずE列・F列にそれぞれ社名(3パターン)と品番を抽出しています。
作業は現状フラッシュフィルで抽出している為、ここまでは楽です。
A列(コード)・〜 E列(社名)・F列(品番) ※E.F列はフラッシュフィルでD列カラ抽出
1 11111 A社 AAA-000
2 11111 A社 AAA-001
3 22222 A社 AAA-002
4 22222 A社 AAA-003
5 22222 B社 BBB-001
6 22222 B社 BBB-002
7 33333 A社 AAA-001
8 33333 A社 AAA-002
9 33333 B社 BBB-001
10 33333 C社 CCC-001
・
・
・
この後、A列のコードと抽出したE列の社名毎に
F列の品番を1つのセルに手作業でG列にまとめています。
この際、品番毎の間に "," を入力しております。
下記が手作業完了後の様な見本です。
A列(コード)・〜 E列(社名)・F列(品番) ・G列(まとめ)
1 11111 A社 AAA-000 AAA-000,AAA-001
2 11111 A社 AAA-001
3 22222 A社 AAA-002 AAA-002,AAA-003
4 22222 A社 AAA-003
5 22222 B社 BBB-001 BBB-001,BBB-002
6 22222 B社 BBB-002
7 33333 A社 AAA-001 AAA-001,AAA-002
8 33333 A社 AAA-002
9 33333 B社 BBB-001 BBB-001
10 33333 C社 CCC-001 CCC-001
・
・
・
この手作業の工程を自動化出来ればと思っておりますが
何かいい方法などご教授頂ければ幸いです。
拙い説明で恐縮ですが、
宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
(マナ) 2021/09/15(水) 23:18
上記アドバイス頂けると幸いです。
宜しくお願い致します。
(セル) 2021/09/16(木) 13:27
Dim v(), m As Long, mx As Long, r As Range Range("G:G").Cells.ClearContents Set r = Range("A" & Rows.Count).End(xlUp) Do DoEvents m = WorksheetFunction.CountIfs(r.Offset(-r.Row + 1).Resize(r.Row), r.Value, r.Offset(-r.Row + 1, 4).Resize(r.Row), r.Offset(, 4).Value) mx = WorksheetFunction.CountIfs(r.EntireColumn, r.Value, r.Offset(, 4).EntireColumn, r.Offset(, 4).Value) ReDim Preserve v(mx - 1) v(m - 1) = r.Offset(, 5).Value If m = 1 Then r.Offset(, 6).Value = Join(v, ","): Erase v If r.Row = 1 Then Exit Do Set r = r.Offset(-1) Loop End Sub (mm) 2021/09/16(木) 17:05
しかし私の方で見落としていたのですが
データの1行目にはヘッダーが入っており
マクロ起動時に下記でエラーになってしまいました。
ReDim Preserve v(mx - 1)
指定のセルに値が入っていない?とのエラーだと思いますが
どのように修正すれば2行目から処理可能でしょうか?
お手数お掛けして誠に申し訳ございません。
(セル) 2021/09/16(木) 18:22
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.