前提・実現したいこと
以前もこちらでお世話になりました。
ありがとうございます。
またわからない問題が発生してしまったのでまた利用させていただきます。
++++++++++++++++++++++++
現在とある製品を作る際に必要な材料構成数を調べようとしています。
製品A→ネジA/ネジB/板版100A etc...
構成は変更になる場合があるため、生産実績から抽出してくるため
製品A ネジA
・
・
製品A ネジA
と重複している可能性があります。
そのため
①生産実績から必要項目をコピー
②製品コードと材料コードを&で結び、重複を削除した後に製品コードを親にして
材料構成を":"で一つのセルに表示
③:の数をカウントして構成を抽出
という手間をかけようとしています。
出力するとこんな感じです↓↓
| A | B | C | D | E |
|製品コード|類別コード|親コード(Aと同じ)|構成A:構成B...|構成数|
違うシートに製品コードの一覧があるので、そこにD列(構成内容)とE列(構成数)を参照するために複雑な手順を踏んでいます。。。
重複が上手く作動していないことが問題なのですが、もう少し簡単な集計方法がございましたら教えてください。
VBA
1Sub 材料構成調査() 2 3'================================ 必要な部分のみ抽出します 4 5Dim SH1 As Worksheet, SH2 As Worksheet 6 7 Set SH1 = Worksheets("①抽出結果") 8 Set SH2 = Worksheets("材料構成") 9 10 SH2.Select 11 12 SH1.Range("A1").CurrentRegion.AdvancedFilter _ 13 Action:=xlFilterCopy, copytorange:=Range("A1:B1") 14 15'================================ 重複の削除 16 17 Dim n As Long 18 n = Cells(Rows.Count, 2).End(xlUp).Row 19 Range("C2:C" & n).FormulaArray = "=A2:A" & n & "&""&""&B2:B" & n & "&""""" 20 21 UsedRange.RemoveDuplicates Columns:=(3), Header:=xlYes 22 23 Columns("C").Delete 24 25'================================ 構成数カウント 26 27 Dim lastRow As Long 28'準備 29 lastRow = Cells(Rows.Count, "A").End(xlUp).Row 30 Range("A:B").Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlYes 31 Range("C:C").Insert Shift:=xlShiftToRight 32 Range("C2:C" & lastRow).Formula = "=IF(A1=A2,C1&"":"","""")&B2" 33 34'コード抽出 35 Range("E:F").Insert Shift:=xlShiftToRight 36 Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=Range("E1"), unique:=True 37 38'結果転記 39 lastRow = Cells(Rows.Count, "E").End(xlUp).Row 40 With Range("F2:F" & lastRow) 41 .Formula = "=VLOOKUP(E2,A:C,3)" 42 .Value = .Value 43 End With 44 Range("C:C").Delete Shift:=xlShiftToLeft 45 46End Sub 47 48
発生している問題・エラーメッセージ
UsedRange.RemoveDuplicates Columns:=(3), Header:=xlYes ここが黄色くなります。
試したこと
マクロの記録からどうにかやろうとしましたが限界です。。。
また、VBAでのINDEXMATCHもやりかたがわからず、構成数がわかっても製品一覧にデータが貼り付けられないため、関数で行っていますので、そちらもわかりましたらよろしくお願いします。。。。
追記*
構成数は月によって変わってしまうのが見えないためこのような手段をとっています。
同じ製品Aで1月は5構成、2月が10構成だと恐らく多いほうの構成で見えてしまうとは思いますが、おおよその構成を見たい(構成がどの程度かみたい)とのことなのでそこは大丈夫です。

回答2件
あなたの回答
tips
プレビュー