EXCEL批量删除重复行!!!不简单,如图:
发布网友
发布时间:2022-08-12 09:57
我来回答
共4个回答
热心网友
时间:2024-10-08 23:25
还是VBA吧,我觉得!
Sub xx()
Dim sh As WorkSheet
Set sh = Sheets.Add
sh.Name = "Temp" & Format(Now(),"hhmmss")
Dim i As Long,dc as object,strA as string
Set dc = createobject("Scripting.Dictionary")
With ActiveSheet
For i = 1 to .[A65536].end(3).Row
strA = .Cells(i,"A").Value & .Cells(i,"B").Value
if Not dc.exists(strA) THen
.Rows(i).Copy sh.[a65536].end(3)(2,1)
dc.add stra,""
end if
Next
End With
Msgbox "去重完成!请查看" & sh.name & "工作表!" , Vbokonly
End Sub
在工作表状态下,按下ALt + F11键,将上面的代码粘贴到右边空白区域,然后运行宏xx即可!
运行前请点击需要去重的工作表,将它激活为活动工作表。
热心网友
时间:2024-10-08 23:26
如果是2007以上都可以用删除重复项,
首先选中需要判断重复的列,比如是A-H列,然后数据->删除重复项就可以了。
如果是2003就需要增加一个临时列,通过公式来判断是否重复行,然后筛选出重复行删掉就可以了。
热心网友
时间:2024-10-08 23:26
选中A列,数据-删除重复项,选择扩展区域,试试
热心网友
时间:2024-10-08 23:27
用VBA试试看!追问愿闻其详
追答用VBA编码,对A、B列进行比较,如果重复则删除重复行。
热心网友
时间:2024-10-08 23:26
还是VBA吧,我觉得!
Sub xx()
Dim sh As WorkSheet
Set sh = Sheets.Add
sh.Name = "Temp" & Format(Now(),"hhmmss")
Dim i As Long,dc as object,strA as string
Set dc = createobject("Scripting.Dictionary")
With ActiveSheet
For i = 1 to .[A65536].end(3).Row
strA = .Cells(i,"A").Value & .Cells(i,"B").Value
if Not dc.exists(strA) THen
.Rows(i).Copy sh.[a65536].end(3)(2,1)
dc.add stra,""
end if
Next
End With
Msgbox "去重完成!请查看" & sh.name & "工作表!" , Vbokonly
End Sub
在工作表状态下,按下ALt + F11键,将上面的代码粘贴到右边空白区域,然后运行宏xx即可!
运行前请点击需要去重的工作表,将它激活为活动工作表。
热心网友
时间:2024-10-08 23:26
如果是2007以上都可以用删除重复项,
首先选中需要判断重复的列,比如是A-H列,然后数据->删除重复项就可以了。
如果是2003就需要增加一个临时列,通过公式来判断是否重复行,然后筛选出重复行删掉就可以了。
热心网友
时间:2024-10-08 23:26
选中A列,数据-删除重复项,选择扩展区域,试试
热心网友
时间:2024-10-08 23:27
用VBA试试看!追问愿闻其详
追答用VBA编码,对A、B列进行比较,如果重复则删除重复行。
热心网友
时间:2024-10-08 23:26
还是VBA吧,我觉得!
Sub xx()
Dim sh As WorkSheet
Set sh = Sheets.Add
sh.Name = "Temp" & Format(Now(),"hhmmss")
Dim i As Long,dc as object,strA as string
Set dc = createobject("Scripting.Dictionary")
With ActiveSheet
For i = 1 to .[A65536].end(3).Row
strA = .Cells(i,"A").Value & .Cells(i,"B").Value
if Not dc.exists(strA) THen
.Rows(i).Copy sh.[a65536].end(3)(2,1)
dc.add stra,""
end if
Next
End With
Msgbox "去重完成!请查看" & sh.name & "工作表!" , Vbokonly
End Sub
在工作表状态下,按下ALt + F11键,将上面的代码粘贴到右边空白区域,然后运行宏xx即可!
运行前请点击需要去重的工作表,将它激活为活动工作表。
热心网友
时间:2024-10-08 23:26
如果是2007以上都可以用删除重复项,
首先选中需要判断重复的列,比如是A-H列,然后数据->删除重复项就可以了。
如果是2003就需要增加一个临时列,通过公式来判断是否重复行,然后筛选出重复行删掉就可以了。
热心网友
时间:2024-10-08 23:27
选中A列,数据-删除重复项,选择扩展区域,试试
热心网友
时间:2024-10-08 23:27
用VBA试试看!追问愿闻其详
追答用VBA编码,对A、B列进行比较,如果重复则删除重复行。
热心网友
时间:2024-10-08 23:26
还是VBA吧,我觉得!
Sub xx()
Dim sh As WorkSheet
Set sh = Sheets.Add
sh.Name = "Temp" & Format(Now(),"hhmmss")
Dim i As Long,dc as object,strA as string
Set dc = createobject("Scripting.Dictionary")
With ActiveSheet
For i = 1 to .[A65536].end(3).Row
strA = .Cells(i,"A").Value & .Cells(i,"B").Value
if Not dc.exists(strA) THen
.Rows(i).Copy sh.[a65536].end(3)(2,1)
dc.add stra,""
end if
Next
End With
Msgbox "去重完成!请查看" & sh.name & "工作表!" , Vbokonly
End Sub
在工作表状态下,按下ALt + F11键,将上面的代码粘贴到右边空白区域,然后运行宏xx即可!
运行前请点击需要去重的工作表,将它激活为活动工作表。
热心网友
时间:2024-10-08 23:26
如果是2007以上都可以用删除重复项,
首先选中需要判断重复的列,比如是A-H列,然后数据->删除重复项就可以了。
如果是2003就需要增加一个临时列,通过公式来判断是否重复行,然后筛选出重复行删掉就可以了。
热心网友
时间:2024-10-08 23:27
选中A列,数据-删除重复项,选择扩展区域,试试
热心网友
时间:2024-10-08 23:27
用VBA试试看!追问愿闻其详
追答用VBA编码,对A、B列进行比较,如果重复则删除重复行。