自己写的用VBA进行两个sheet页中的数据对比

[color=red]两个sheet页分别命名“Sheet700”,“Sheet800”。
判断"Sheet700”sheet中的数据是否在“Sheet800”中存在,不存在标蓝色。
存在的场合,“Sheet800”sheet中的数据和“Sheet700”的2~41行比较,不一样标注青色,并在最前面标注黄色。[/color]


Sub Macro3()

Dim tem, tem1 As String
Dim text1, text2 As String
Dim i As Integer, hang1 As Long, hang2 As Long, lie As Long, maxhang As Long, maxlie As Long
'开始时间
Dim sngStart As Single
sngStart = Timer

'底色恢复
Sheets(1).Select
Columns("A:A").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("A1").Select
'底色恢复
Sheets(2).Select
Rows("2:1009416").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("A1").Select

'最大行数设定
maxhang = 250
'最大列数设定
maxlie = 41
For hang1 = 2 To maxhang
Dim a As Integer
a = 0
'第一个sheet中的第一列格的内容
tem = Sheets(1).Cells(hang1, 1)
'MsgBox ("TEM1=" & tem)
For hang2 = 2 To maxhang
'第二个sheet中的第一列格的内容
tem1 = Sheets(2).Cells(hang2, 1)
'发现相同数据的场合
If tem1 = tem Then
a = 1
'黄色设定
Sheets(2).Cells(hang2, 1).Interior.ColorIndex = 6
'MsgBox ("TEM2=" & Sheets(2).Cells(hang2, 1))
For lie = 4 To maxlie

text1 = Sheets(1).Cells(hang1, lie)
text2 = Sheets(2).Cells(hang2, lie)

If text1 <> text2 Then
'MsgBox ("A" & lie & "=" & Sheets(1).Cells(hang1, lie))
'MsgBox ("B" & lie & "=" & Sheets(2).Cells(hang2, lie))
'青色设定
Sheets(2).Cells(hang2, lie).Interior.ColorIndex = 8
End If
Next
End If
Next
'不存在的场合,蓝色设定
If a = 0 Then
Sheets(1).Cells(hang1, 1).Interior.ColorIndex = 5
End If
Next

'保存文档
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
'输出时间差
MsgBox ("ok,costTime:" & Timer - sngStart)
End Sub


  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值