Windows 10 Excel 2019
我有一个工作簿,其中包含两个工作表,分别是“产品数据”和“产品列表”。每次运行我要查找的公式时,都会生成“产品列表中”的数据。
产品数量未知/无限制
每种产品的行数未知/无限制
每张工作表都有一个标题行
在产品数据页面中...
A、B、J、K 列将包含重复日期,这些日期应用于识别与每种产品相关的行。G
和 H 列也与每种产品相关,但将包含混合值,不用于识别产品。
对于每种产品(通过产品列表表 A、B、J、K 列中的匹配数据来识别),我需要 Excel 查看 G 列并返回在每个匹配的数据集中出现次数最多的数字,可能是“=MODE.SNGL(G2:G)”直到匹配的末尾。
我需要的代码/公式将执行以下操作:
当处理完第一组匹配的值(黄色)后,它会继续处理下一组匹配的值(绿色),然后处理下一组(蓝色),依此类推,一直到产品列表表下方,并将其复制到产品列表页面(下面的示例)。
我有以下 VBA,它从产品日期工作表中提取数据,但我无法弄清楚如何将“=MODE.SNGL(G2:G)”或类似内容插入到 G 列范围的代码中,以便它循环并为每组匹配的数据重新开始。
' 从单元格 A2 开始到单元格 G2,一直到第 40,000 行,这将插入公式以 ' 从工作表“跟踪数据 2
Range("A2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('Track Data'!RC), """",IF(OR('Track Data'!RC[8]=""Wav"",'Track Data'!RC[8]=""Flac"",'Track Data'!RC[8]=""Mp3"",'Track Data'!RC[8]=""Aif"",'Track Data'!RC[8]=""OSX AU""),'Track Data'!RC,""""))"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",'Track Data'!RC)"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",'Track Data'!RC[8])"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-3]="""","""",'Track Data'!RC)"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]="""","""",'Track Data'!RC[2])"
Range("F2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-5]="""","""",'Track Data'!RC[])"
Range("G2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-6]="""","""",'Track Data'!RC[2])"
Range("A2:G2").Select
Selection.AutoFill Destination:=Range("A2:G40000"), Type:=xlFillDefault
Range("A2:G40000").Select
Application.GoTo Reference:="R2C1"
产品数据工作表的示例。
PRODUCT TYPE DATA 1 DATA 2 DATA 3 DATA 4 NO 1 N0 2 DATA 5 PRICE PACK TYPE
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 4 1058 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 4 652 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 2 331 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 2012 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 300 442 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 43 442 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 300 442 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 21 5678 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 14 442 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 62 789 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 300 442 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 300 1233 Data 5 9.89 Tube
Yellow Paint Oil Data 1 Data 2 Data 3 Data 4 300 442 Data 5 9.89 Tube
Black Paint Powder Data 1 Data 2 Data 3 Data 4 1 3 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 1 45 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 2 20 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 3 3 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 3 8 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 6 3 Data 5 6.28 Tin
Black Paint Powder Data 1 Data 2 Data 3 Data 4 1 3 Data 5 6.28 Tin
产品列表页面的示例。
PRODUCT TYPE DATA 1 DATA 2 DATA 3 DATA 4 M. DUPS No 2 DATA 5 PRICE PACK TYPE
Red Paint Powder Data 1 Data 2 Data 3 Data 4 12 1058 Data 5 22.99 Tin
Yellow PaintOil Data 1 Data 2 Data 3 Data 4 300 442 Data 5 9.89 Tube
Black Paint Powder Data 1 Data 2 Data 3 Data 4 1 3 Data 5 6.28 Tin