|
楼主吧问题复杂化了,其实很简单
1.获取需求尺寸清单(楼主黄色标识的)
Sub 获取需求尺寸清单() '参考
Dim arr
Cells.Find("OK/NG").Resize(2, Columns.Count).Delete'方便操作,取完数据后关闭不保存
[a8].CurrentRegion.AutoFilter Field:=2, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
[a8].CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
arr = [a1].CurrentRegion
End Sub
2.根据步骤1获取的清单(内容)列是不重复的,抓取剩余所有样品的测量数据。
最终得到类似如下数据。
a) 4# 样品有一个没有数据
b) 5#\6#两个样品测量数据相同?
Range("M2") ==B2&"-"&COUNTIF(B$2:B2,B2) 向下填充 (此公式生成尺寸Dimension唯一标识。58-1,58-2 ......)
3.在根据步骤2得到的数据,匹配填入SIR工作表中,完工!
a) SIR Range("M8") =B8&"-"&COUNTIF(B$8:B8,B8) 向下填充 (此公式生成尺寸Dimension唯一标识。58-1,58-2 ......)
b) SIR Range("E8") =IFERROR(INDEX(Sheet2!$A$1:$M$27,MATCH($M8,Sheet2!$M$1:$M$27,0),MATCH(E$7,Sheet2!$A$1:$M$1,0)),"") 向右向填充
c) 转换为数值,并清除SIR Range("M8:M50")
d) 填充其余尺寸数据
备注:
1.建议规范原始测量数据源,从根本解决问题。尺寸编号做唯一标识FAI58_1,FAI58_2 ...... 方便数据整理和检查
2. 不建议SIR 插入列,影响美观
全部代码就不写了,
请根据实际情况使用。
以上请参考。
|
评分
-
1
查看全部评分
-
|