Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3619|回复: 3

excel两行对比,然后处理难题

[复制链接]
发表于 2011-7-5 23:01 | 显示全部楼层 |阅读模式
对比表格里两行里的串号是否相同,如果相同把其中相同的一行放到另一个工作表里,注:相同两行有可能是别的数据不同但串号是相同的。例子在附件里,希望各位可以帮忙解决个大难题。

查询1.rar

2 KB, 下载次数: 24

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-7-6 05:34 | 显示全部楼层
Private Sub CommandButton1_Click()

Dim sFind As String, sReplace As String '定义查找与被查找的字符串变量
Dim I As Integer, J As Integer '定义循环中的循环增长数值
   

For I = 1 To 200 '在1列中循环处理并查找姓名
sFind = Cells(I, 1).Value '将sFind赋予姓名单元格的数值

For J = 1 To 200 '在3列中循环处理并查找姓名
sReplace = Cells(J, 3).Value '将sReplace赋予姓名单元格的数值

If sFind = sReplace Then '如果查找的姓名与被查找的姓名相等
Cells(I, 1).Select
With Selection.Interior
.ColorIndex = 7
End With
Cells(J, 3).Select
With Selection.Interior
.ColorIndex = 7
End With

Exit For '查找的目标已达到,跳出For循环,减少无谓的资源浪费

End If
   Next
Next

End Sub

‘修改一下就可以用,对比两列数据,相同的就高亮出来
回复

使用道具 举报

发表于 2011-7-6 05:47 | 显示全部楼层
mmyu8888 发表于 2011-7-5 23:01
对比表格里两行里的串号是否相同,如果相同把其中相同的一行放到另一个工作表里,注:相同两行有可能是别的 ...

1、楼主的表1里只有3行数据?!数据太少没办法看出其中的要求和规律.
2、串号相同的行是只有2个?还是有3个或更多?
3、串号相同的行是否都是相邻的2行?还是也有不相邻的?

回复

使用道具 举报

发表于 2011-7-6 17:10 | 显示全部楼层
可以使用高级筛选,勾上“选择不重复的记录”,然后将记录复制过去,操作快捷,简单。

代码:
Sub SLKD()
Dim D As Object, I&, J&, ARR, BRR, T, S
Set D = CreateObject("SCRIPTING.DICTIONARY")
ARR = ActiveSheet.UsedRange
For I = 1 To UBound(ARR)
    If Not D.EXISTS(ARR(I, 3)) Then
        D(ARR(I, 3)) = Join(Array(ARR(I, 1), ARR(I, 2), ARR(I, 3), ARR(I, 4), ARR(I, 5), ARR(I, 6)), vbCrLf)
    End If
Next
T = Application.Transpose(D.ITEMS)
ReDim BRR(1 To UBound(T), 1 To 6)
For I = 1 To UBound(T)
    S = Split(T(I, 1), vbCrLf)
    For J = 1 To UBound(S) + 1
        BRR(I, J) = S(J - 1)
    Next
Next
Sheets(2).[A1].Resize(UBound(T), 6) = BRR
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-29 08:00 , Processed in 0.228148 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表