我有2列数据(带有标题),其中A(顺序)总是有重复的(有时是2-3),但是B数据(也是顺序的)总是唯一的,而dupe是不存在的。我从@Jeeped中找到了这个解决方案,并根据需要进行了修改--显然不起作用,因为我不知道如何在代码中定义max(B)。
Sub RemoDupeMaxB()
Dim wb1 As Workbook
Dim lr As Long, i As Long
Set wb1 = Workbooks(“Survey Beta.xlsm")
With wb1.Sheets("VERT SCALES")
lr = Application.Max(.Cells(Rows.Count, 1).End(xlUp).Row, _
.Cells(Rows.Count, 2).End(xlUp).Row)
For i = lr To 1 Step -1
If .Cells(i, 1).Value > '??? And _
(.Cells(i, 2).Value > Max(B:B)) Then
.Rows(i).EntireRow.Delete
End If
Next i
End With
End Sub我想要vba做的是使用max(B)的标准从A中删除(行)所有其他的欺骗-即保留max(B)行数据。
发布于 2015-08-13 16:28:43
我想我应该用双for循环来处理这个问题,如下所示
Sub RemoDupeMaxB()
Dim wb1 As Workbook
Dim lr As Long, i As Long
Set wb1 = Workbooks(“Survey Beta.xlsm")
With wb1.Sheets("VERT SCALES")
lr = Application.Max(.Cells(Rows.Count, 1).End(xlUp).Row, _
.Cells(Rows.Count, 2).End(xlUp).Row)
For i = lr To 1 Step -1
for j = i - 1 to 1 Step -1
If .Cells(i, 1).Value = .Cells(j, 1).Value And _
.Cells(i, 2).Value > .Cells(j, 2).Value Then
.Rows(j).EntireRow.Delete
End If
Next j
Next i
End With
End Subhttps://stackoverflow.com/questions/31992459
复制相似问题