我有一个宏,在从另一个工作表中获取数据并对其进行格式化后,应该将 b、c 和 d 列中的数据相加,当 a 列在第一行中重复时,然后删除重复的第二行。这样做的目的是,如果两组数据在第一列中具有相同的标识符,我只会看到集合中的总数,而不是列表。
Range("A3:A50").Select
Set y = Selection
For x = 1 To y.Rows.Count
If y.Cells(x, 1).Value = y.Cells(x, 2).Value Then
a = y.Cells(x + 1, 1).Value
a = a + y.Cells(x + 1, 2).Value
y.Cells(x + 1, 1).Value = a
y.Cells(x + 2, 1).Value = y.Cells(x + 2, 1).Value + y.Cells(x + 2, 2).Value
y.Cells(x + 3, 1).Value = y.Cells(x + 3, 1).Value + y.Cells(x + 3, 2).Value
End If
If y.Cells(x, 2).Value = y.Cells(x, 1).Value Then
y.Cells(x, 2).EntireRow.Delete
End If
Next
这是那段代码,这里混合了两次尝试。在第一个 If 语句中,我尝试使用“a”作为一种方式来存储 B 列中第一个单元格的值,然后从其下方添加重复信息。另外两个正在尝试直接添加单元格值。两者似乎都不起作用,第二个 If 也不是,没有重复数据被删除,而是看起来像是随机删除行。请让我知道我可以做些什么来改进这两个部分。