我正在尝试在VBA和Excel中生成一个宏,它可以计算行的唯一出现次数,打开一个新的Excel工作表并粘贴包含出现次数的摘要顺序列表。
我是VBA的新手,我还在使用Excel VBA for Dummies阅读它。因此,非常感谢任何有关如何开始的帮助。我已经阅读了其他帖子,并尝试使用SUM和COUNT.IF取得了一定程度的成功。
基本上,我正在处理过程设备和仪器的订单列表,例如阀门,压力计等。列表已填写,并且在一大堆信息中将出现具有唯一部件号的相同项目的多个副本。因此,难以计算要订购的唯一物品的数量,并且很容易发生错误。目标可归纳如下:
举个例子,我为不同的连锁超市准备了水果订单,如下图所示。
提前致谢!
答案 0 :(得分:0)
我意识到我原来的问题研究得很糟糕,我自己也想出了问题的答案。如果有人碰巧读到这个并想要一个答案,那么代码的核心就像是这样(根据另一个案例直接从我的代码中复制,因此它不会自行运行):
Dim i As Long
Dim nr_rows As Long
Sheets("Ark1").Cells(1, 1).Select
Sheets("Ark1").UsedRange.Clear
'Counts number of occurances based on two criteria: the connection type and model number
With ActiveSheet
nr_rows = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To nr_rows 'Cells(i, 7) indicates destination column
Cells(i, 7).Formula = "=SUM(COUNTIFS(B1:B200,B1:B200,F1:F200,F1:F200))"
Next i
End With
'Removes duplicates based on all columns
Application.Calculation = xlCalculationManual
ActiveCell.Range("A1:G200").Select
ActiveSheet.Range("$A$1:$G$200").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7), Header:=xlNo
'Sorts the range alphabetically based on Column E, the manufacturer
Range("A1:G50").Sort Key1:=Range("E:E")