试图在VBA中编写一个循环
我目前正在尝试写一个简短的循环,将收到的项目列表压缩成一个简明的分项报告。 我扫描每个项目的条形码,然后进入A栏,如果数量超过1,则进入B栏。
这是我的思考过程,为了删除列A中所有重复的项目,并将它们的总和合并到B:
-
计算列A中的行数,设置为“N”
-
检查B列中所有单元格,直到“N”,并将空白单元格设置为1
-
通过AN比较A1和A2,如果相同的组合B值和删除行(如果A1和A2匹配,并且两个B单元格值是1,则A1保持相同,B1现在具有值2,并且第二行被删除。)
-
与AN相比,重复A到AN-1的所有值的循环。
我知道在每一行删除之后N都需要减less,而我对VBA来说是个新手,所以我总是在编写循环时遇到困难。
任何build议在页面看或简单的结构,我可以用在我的代码将不胜感激。
编辑:试图将表1转换成表2
表1 —————————–表2
Column A Column B | Column A Column B 11233 | 11233 4 11233 2 | 9987 7 9987 | 7452 1 11233 | 9987 6 | 7452 |
Sub Summator() ActiveSheet.Columns("A:B").Sort Key1:=ActiveSheet.Range("A2"), Order1:=xlAscending, Header:=xlGuess lastRow = Range("A65000").End(xlUp).Row For i = 1 To lastRow If Cells(i, 2) = "" Then Cells(i, 2) = 1 Next i For i = lastRow To 2 Step -1 If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i - 1, 2) = Cells(i - 1, 2) + Cells(i, 2) Cells(i, 2).EntireRow.Delete End If Next i End Sub