|
请教:“查询表”给出的两条件是A列(姓名)和B列(居(村)委会)内容,想要在“数据库”工作表中查找并将F列(公民身份号码)、H列(电话)、I列(出生日期)三列的结果 在“查询表”的C(公民身份号码)、D(电话)、E(出生日期)三列中匹配填写(“数据库”表的条件是a列和d列)? 谢谢!
- Sub 二条件查找()
- Dim d As Object, arr, brr, i&, re$$(), lastrow&, drow&
- lastrow = Cells(Rows.Count, 1).End(xlUp).Row
- If lastrow < 2 Then
- Exit Sub
- Else
- arr = Sheets("数据库").Range("A1").CurrentRegion.Value
- Set d = CreateObject("scripting.dictionary")
- For i = 2 To UBound(arr)
- d(arr(i, 1) & arr(i, 4)) = i
- Next
- brr = Range("A2:B" & lastrow).Value
- ReDim re(1 To UBound(brr), 1 To 3)
- For i = 1 To UBound(brr)
- drow = d(brr(i, 1) & brr(i, 2))
- re(i, 1) = arr(drow, 6)
- re(i, 2) = arr(drow, 8)
- re(i, 3) = arr(drow, 9)
- Next
- End If
- Range("C2").Resize(UBound(re), 3) = re
- End Sub
复制代码你的问题是系统文件安装不全所致。。。 换用字典+数组了
|
|