首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用辅助数据标准删除重复项

使用辅助数据标准删除重复项
EN

Stack Overflow用户
提问于 2015-08-13 15:25:22
回答 1查看 53关注 0票数 0

我有2列数据(带有标题),其中A(顺序)总是有重复的(有时是2-3),但是B数据(也是顺序的)总是唯一的,而dupe是不存在的。我从@Jeeped中找到了这个解决方案,并根据需要进行了修改--显然不起作用,因为我不知道如何在代码中定义max(B)。

代码语言:javascript
复制
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)行数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 16:28:43

我想我应该用双for循环来处理这个问题,如下所示

代码语言:javascript
复制
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 Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31992459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档