求助EXCEL2003 VBA编程

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:03:19
例如有A,B,C,D四列数据,其中A,C是序号,B,D是内容
我想查找A=C,B=D的数据(可以把A=C,B=D的数据显示在另一个位置)
请问该如何编程?或者能用语句实现也可以
关键行与行数据是错开的。。。1L你的方案行不通的

Sub test()
Dim arr1(), arr2()
Dim nrow As Integer
Dim k As Integer
k = 1
nrow = [a65536].End(xlUp).Row
arr1 = Range("a1:d" & nrow)

For i = 1 To nrow
For j = 1 To nrow
If arr1(i, 1) = arr1(j, 3) And arr1(i, 2) = arr1(j, 4) Then
Cells(k, 5) = arr1(i, 1)
Cells(k, 6) = arr1(i, 2)
Cells(k, 7) = arr1(j, 3)
Cells(k, 8) = arr1(j, 4)
k = k + 1
End If
Next
Next
End Sub

调试通过,应该没问题!

不用VBA的,

在E列写公式,
=IF(A1=C1,IF(B1=D1,"Yes",""),"")

向下拖,填充所有的行有此公式..

然后对E列筛选,筛选所有的Yes, 然后此时的ABCD列就是你的内容..如果你想复制到其它表格,可以全选此时的ABCD列,按住SHIFT,再点复制,最后粘贴到新表格就好了.

补充:
错开也能用公式的.呵呵.只要你的序号是唯一的,就可以使用VLOOKUP来操作..不介绍的话,发EXCEL表给我吧.看数据来帮你写公式.