【发布时间】:2015-08-12 06:32:23
【问题描述】:
问题很简单,但我找不到解决方案。 我想在相当长的 excel 表中删除每行的重复项
我的代码看起来像这样,但不起作用:
Sub delete()
Dim i As Long, j As Integer
i = 1
j = 2
While Sheets("Test").Cells(i, 1).Value <> "end"
While Sheets("Test").Cells(i, j).Value <> ""
If Sheets("Test").Cells(i, j) <> Sheets("Test").Cells(i, j).offset(, 1) Then
j = j + 1
Else
Sheets("Test").Cells(i, j).offset(, 1).Clear
j = j + 1
End If
Wend
i = i + 1
Wend
结束子
A列底部是词尾,待排序的数据在B到QC列。有些行有重复,有些没有。 在下一步中,我需要收集 B 列中用逗号分隔的非重复值。有人可以帮我吗?
图片:
【问题讨论】:
-
到底是什么问题?您的代码抛出错误,没有按预期工作? ...
-
它什么都不做
-
您没有为removeduplicates 提供足够的参数(根据msdn)尝试:
ActiveSheet.Range("B" & i, "QC" & i).RemoveDuplicates Columns:=Array(2,3), Header:=xlYes我不知道您是否有标题。但是,如果这会删除列 B 和 C 的重复项或您知道重复项的任何位置,请尝试 -
Sub delete() Dim i As Long i = 1 While Sheets("Test").Cells(i, 1).Value "end" Sheets("Test").Range(" B" & i, "QC" & i).RemoveDuplicates Columns:=Array(2, 3), Header:=xlNo i = i + 1 Wend End Sub Now,它仍然什么都不做。
-
让我确认一下,您要删除什么,重复行还是重复单元格?