Excel精英培训网

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

[已解决]求助:表格工作表查找对比

[复制链接]
发表于 2012-8-21 20:03 | 显示全部楼层 |阅读模式
要求两个工作表对比相同的,并且填写相应的日期!!
最佳答案
2012-8-21 20:17
本帖最后由 lzclzch 于 2012-8-21 20:18 编辑

Sub 查询()
Dim r%, arr, brr()
arr = Sheet2.Range("a2:a" & Sheet2.Range("a65536").End(3).Row)
ReDim brr(1 To UBound(arr), 1 To 1)
For r = 1 To UBound(arr)
m = m + 1
brr(m, 1) = Application.VLookup(arr(r, 1), Sheet1.Range("a2:b9"), 2, 0)
Next
Sheet2.Range("c2").Resize(m, 1) = brr
End Sub
qq1.png
qq2.png

Book1.zip

2.28 KB, 下载次数: 1

发表于 2012-8-21 20:08 | 显示全部楼层
  1. =VLOOKUP(A2,表一!A:B,2,)
复制代码

Book1.rar

4.17 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2012-8-21 20:13 | 显示全部楼层
286779240 发表于 2012-8-21 20:08

需要用VBA代码!!!
回复

使用道具 举报

发表于 2012-8-21 20:14 | 显示全部楼层
本帖最后由 hrpotter 于 2012-8-21 20:15 编辑
  1. Sub test()
  2.     Dim arr, brr(), d
  3.     Dim i As Long
  4.     On Error Resume Next
  5.     Set d = CreateObject("scripting.dictionary")
  6.     arr = Sheets("表一").Range("a1").CurrentRegion
  7.     For i = 2 To UBound(arr)
  8.         d(arr(i, 1)) = arr(i, 2)
  9.     Next
  10.     With Sheets("表二")
  11.         arr = .Range("a2:a" & .Range("a65536").End(xlUp).Row)
  12.         ReDim brr(1 To UBound(arr), 1 To 1)
  13.         For i = 1 To UBound(arr)
  14.             brr(i, 1) = d(arr(i, 1))
  15.         Next
  16.         .Range("c2:c65536").ClearContents
  17.         .Range("c2").Resize(UBound(brr), 1) = brr
  18.     End With
  19. End Sub
复制代码
回复

使用道具 举报

发表于 2012-8-21 20:17 | 显示全部楼层
查找对应数据(VBA).rar (8.31 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2012-8-21 20:17 | 显示全部楼层    本楼为最佳答案   
本帖最后由 lzclzch 于 2012-8-21 20:18 编辑

Sub 查询()
Dim r%, arr, brr()
arr = Sheet2.Range("a2:a" & Sheet2.Range("a65536").End(3).Row)
ReDim brr(1 To UBound(arr), 1 To 1)
For r = 1 To UBound(arr)
m = m + 1
brr(m, 1) = Application.VLookup(arr(r, 1), Sheet1.Range("a2:b9"), 2, 0)
Next
Sheet2.Range("c2").Resize(m, 1) = brr
End Sub

Book1.rar

7.51 KB, 下载次数: 9

回复

使用道具 举报

 楼主| 发表于 2012-8-21 21:29 | 显示全部楼层
lzclzch 发表于 2012-8-21 20:17
Sub 查询()
Dim r%, arr, brr()
arr = Sheet2.Range("a2:a" & Sheet2.Range("a65536").End(3).Row)

新输入的数据会给删掉的!!求修改
回复

使用道具 举报

发表于 2012-8-21 21:32 | 显示全部楼层
你是不是在sheet2C列中输入数据呢
是不是想已录入的数据不要被替换掉吗
回复

使用道具 举报

 楼主| 发表于 2012-8-21 21:34 | 显示全部楼层
是的!!!!!!!其余单元格不动,只要求动对应编号的日期
回复

使用道具 举报

 楼主| 发表于 2012-8-21 21:36 | 显示全部楼层
lzclzch 发表于 2012-8-21 21:32
你是不是在sheet2C列中输入数据呢
是不是想已录入的数据不要被替换掉吗

是的!!!!!!!其余单元格不动,只要求动对应编号的日期
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 06:01 , Processed in 0.379866 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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