VBA。同一个工作表,获取sheet1的A列数据,逐个在sheet2中检索,如果能搜索到,搜索到的

VBA。同一个工作表,获取sheet1的A列数据,逐个在sheet2中检索,如果能搜索到,搜索到的单元格标识成绿色。需要注意的是,可能会搜到不止一个单元格。

要是搜寻整个表格的话建议你不要用VBA来实现,实在是太慢了。
我刚刚试了一下仅仅只在sheet2的A列中搜寻sheet1中A列的所有表格,结果卡死了。
要是在小范围内则没有问题,亲测通过。
要是知道你的数据类型可能会快一些,因为怕数据中有字符所以用了一个笨方法来循环,这个可以针对任何数据,字符也好数字也好。
如果你对你电脑足够自信也可以把"A1:A100" 改为"A:A",反正我CPU是I7 4770 8G的内存都卡死了。
程序如下
Sub comp()
Dim I, J, K As Integer
Dim a, b As String
For Each rng1 In Worksheets(1).Range("A1:A100") '要是手动选择范围把
'Worksheets(1).Range("A1:A100")改为application.inputbox("选择比较数据区域",type:=8)
a = rng1.Value
If Len(Trim(a)) = 0 Then GoTo 10
For Each rng2 In Worksheets(2).Range("A1:A100") '要是手动选择范围则同上
b = rng2.Value
If Len(Trim(a)) = Len(Trim(b)) Then
For I = 1 To Len(Trim(a))
If Mid(a, I, 1) <> Mid(b, I, 1) Then GoTo 20
Next I
rng2.Interior.Color = 5287936
End If
20 Next
10 Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-17
把表发我邮箱,举例说清楚目的与要求。mfk1288@126.com

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网