Excel精英培训网

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

[已解决]请大侠帮忙,关于两表数据对比的

[复制链接]
发表于 2009-10-9 17:36 | 显示全部楼层 |阅读模式

要求把当月表中的兰色部分与默认表中的相应部分比较一下,如果相比默认表有增加,就用程序运行完之后用MSGBOX把行数列出!请大侠帮忙,谢谢了

另注:当月表中用黄色标出行为新增的,也是运行之后应该列出的行

NcIqqiOz.rar (7.76 KB, 下载次数: 4)
发表于 2009-10-9 18:45 | 显示全部楼层

Sub 比对()
Dim Arr1, Arr2, Arr_mr, Arr_dy, str As String, Row_mr As Long, Row_dy As Long
Dim temprow As Long
With Sheets("默认")
temprow = .Range("b65536").End(xlUp).Row
Arr1 = .Range("B7:F" & temprow)
End With
With Sheets("当月")
temprow = .Range("b65536").End(xlUp).Row
Arr2 = .Range("B7:F" & temprow)
End With
ReDim Arr_mr(1 To UBound(Arr1))
For i = 1 To UBound(Arr1)
 Arr_mr(i) = Arr1(i, 1) & Arr1(i, 3) & Arr1(i, 5)
Next
ReDim Arr_dy(1 To UBound(Arr2))
For i = 1 To UBound(Arr2)
 Arr_dy(i) = Arr2(i, 1) & Arr2(i, 3) & Arr2(i, 5)
Next
Row_mr = 1: Row_dy = 1
Do
 If Arr_dy(Row_dy) <> Arr_mr(Row_mr) Then
  s = s & Row_dy + 6 & "行,"
  Row_mr = Row_mr - 1
 End If
 Row_dy = Row_dy + 1: Row_mr = Row_mr + 1
Loop While Row_dy <= UBound(Arr_dy)
If s = "" Then
MsgBox "当月表中没有数据增加"
Else
MsgBox "在" & s & "中增加了数据."
End If
End Sub
回复

使用道具 举报

 楼主| 发表于 2009-10-9 18:55 | 显示全部楼层
回复

使用道具 举报

发表于 2009-10-9 20:56 | 显示全部楼层    本楼为最佳答案   

eCA0NV6h.rar (10.6 KB, 下载次数: 20)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 20:41 , Processed in 0.220212 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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