同一工作簿中的两个vba 工作表另存工作簿,查看表1的一列值在表2中的固定列是否出现,使用VBA

您的举报已经提交成功,我们将尽快处理,谢谢!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Cells.Inter...
Sub 按钮1_单击()
If Cells(1, 5) && "" Then
Cells(1, 5).CurrentRegion...
函数可以解决。
=INFO("numfile")
结果就是本工作簿里工作表的数目。
大家还关注
Microsoft Office 201...如何在一个excel工作表中检索出与另一个工作表中相同的大量数据?
我的图书馆
如何在一个excel工作表中检索出与另一个工作表中相同的大量数据?
在Excel2007中,如何在一个工作表中检索出与另一个工作表中相同的数据?
  数据量小倒没什么,但是如果要在一个成百上千行的数据中找到上百个没有规律的数据,那可是一种比较麻烦的事。例如,笔者学校最近进行学生资料造册工作,很多老师都在苦恼,有没有办法将手中的200名学生名单在学校总的学生名单册(3000人的Excel2007工作表)中快速找出来?这个时候,使用Excel2007的粘贴函数VlookUp(),就能让这种“复杂”的检索问题变得简单。
  检索原理是利用Excel2007粘贴函数中的“查找与引用”函数VlookUp()来搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值。
  操作步骤:
  第一步,将需要检索的学生“姓名”列置于“子表”工作表的首列;
  第二步,在“总表”工作表的姓名列(B列)后插入一空列(C列),用于显示检索结果,如检索到数据就显示该学生的姓名;
  第三步,在C2单元格中输入公式“=VlookUp(B2,子表!A$2:A$201,1,FALSE)”;如果在“子表”工作表中检索到B2单元格的值,则在C2单元格中显示B2中的姓名,否则显示信息“#N/A”;
  第四步,拖动C2单元格的填充柄复制公式到C列的其他单元格;
  第五步,对C列按升序排序,即可在“总表”工作表中检索出“子表”工作表中的全部记录。
  总结:此方法不失为在Excel2007中检索大量数据的好方法,同时也可以用此方法进行多个工作表的数据合并。但检索的数据最好是没有重复值的,如“学籍号”、“身份证号”、“注册号”等,否则会把所有的重复值都找出来,使用时要多加小心。
  说明:
1、“总表”、“子表”就是同一工作表的“sheet1”、“sheet2”,可将“sheet1”、“sheet2”改为“总表”、“子表”。(若不该名,则在函数中相应改动)
2、将要找出的区域,如“姓名”列全部列置于“子表”工作表的首列;子表完成。
3、选中c2,复制,然后全选c列,粘贴即可找出所需。(然后对c升序排列即可)
4、公式“=VlookUp(B2,子表!A$2:A$201,1,FALSE)”,可相应改动:
若子表所需数据共80,则将201改为80即可;
可将A$2改为A$1,则c列第一行显示“姓名“。
5、若在排序时,勾选“数据包含标题”,则在排序时,首行位置不动。
6、此文也适用于Excel2007以前的版本,例如Excel2003。
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&查看: 17438|回复: 23
[已解决]怎么在两个表格中找出相同的数据,并将对应列的数据填入另一表格中
如题,我有两个表格,其中一列是想同的,想将附件表1中的c列中的数据填到表2的B列中想应的格子中,
21:15 上传
点击文件名下载附件
7.44 KB, 下载次数: 180
最后登录 11:13&注册时间 19:22&金币20 &积分26&帖子&
ec/common_3_usergroup_icon.gif
金币20 &积分26&帖子&
Excel学徒123发布于
本帖最后由 Excel学徒123 于
09:13 编辑
lxcsyt 发表于
真的是太感谢了,用你提供的VBA可以实现我想要的了,再次感谢!!!!!
可以拿最佳了,保留吧
B1=VLOOKUP(A1,Sheet1!$A$1:$C$18,3,0)
出现#N/A的字样,表示表1里面没有这个
多谢了,再问多一句,我表一中的几行都是同一个数据,这个函数会把它们全部放到一个格子里吗?
有点问题,表一中有多个相同的数据,但这个函数中只选中了一个,没有选中多个
函数初级视频课程(免费)
看看第7讲:
Tank008 发表于
函数初级视频课程(免费)
看看第7讲:/course/course_id-3625.html
多谢提供的培训课程,想知道能不能将相同的数据返回的值放在同一个单元格里?
B2=IFERROR(INDEX(Sheet1!$C$1:$C$18,SMALL(IF(Sheet1!$A$1:$A$18=$A1,ROW($1:$18),9^9),COLUMN(A1))),&&)三键数组公式右拉下拉,如果不会数组可以下载附件看一下,这问题可以添加辅助列用VLOOKUP或INDEX+MATCH函数解决
01:10 上传
点击文件名下载附件
12.42 KB, 下载次数: 61
05:55 上传
点击文件名下载附件
7.84 KB, 下载次数: 33
多谢楼上的两位,但是我还想把找到的数据比如说HD3A0101BBMB在表1中找到的相对应的5个数据全部放在B1里,这样的话可以行吗?
|||Excel精英培训
Powered by查看: 3096|回复: 11
用VBA查找某列数据是否在另一工作表中出现
阅读权限20
在线时间 小时
本帖最后由 枫亭幽竹 于
10:59 编辑
用VBA实现查找本工作表D2及该列以下部分是否在“客商基础表”中B8及该列以下部分出现,若未出现,请用提示框显示“收款方+错误单元格的文本数据+名称是否有误?”
该列可能会出现2个以上的错误,怎么在上面的提示框一起汇总显示呢?
09:15 上传
点击文件名下载附件
49.61 KB, 下载次数: 41
阅读权限100
在线时间 小时
Private Sub CommandButton1_Click()
& & For i = 2 To [D65536].End(xlUp).Row
& && &&&s = &第& & i & &行:& & Cells(i, 4) & vbCrLf
& && &&&Select Case Application.WorksheetFunction.CountIf(Sheet1.[B:B], Cells(i, 4))
& && && && &Case 0
& && && && && & MsgBox s & &收款方+错误单元格的文本数据+名称是否有误?&
& && && && &Case Is & 1
& && && && && & MsgBox s & &重复项&
& && &&&End Select
& && &&&
& & Next
End Sub
复制代码
阅读权限20
在线时间 小时
jsxjd 发表于
版本,你好!你的代码基本上满足了我这儿的需求,请问能不能让错误提示一起汇总出现,而不是一个一个的出现提示框。
阅读权限100
在线时间 小时
枫亭幽竹 发表于
版本,你好!你的代码基本上满足了我这儿的需求,请问能不能让错误提示一起汇总出现,而不是一个一个的出 ...Private Sub CommandButton1_Click()
& & For i = 2 To [D65536].End(xlUp).Row
& && &&&n = Application.WorksheetFunction.CountIf(Sheet1.[B:B], Cells(i, 4))
& && &&&If n = 1 Then
& && &&&Else
& && && && &If Len(s) & 0 Then s = s & vbCrLf
& && && && &s = s & &第& & i & &行& & IIf(n = 0, &遗漏:&, &重复:&) & Cells(i, 4)
& && &&&End If
& & Next
& & If Len(s) & 0 Then MsgBox s
End Sub
复制代码
阅读权限20
在线时间 小时
& & & & & & & &
jsxjd 发表于
你好。还有个小问题,就是我只需要检查n=0时遗漏的项目,重复的不需要显示在提示框中,这个请问怎么修改代码?
阅读权限20
在线时间 小时
感谢jsxjd的大力帮助,现该问题已解决。详见附件
16:09 上传
点击文件名下载附件
46.86 KB, 下载次数: 85
阅读权限100
在线时间 小时
枫亭幽竹 发表于
你好。还有个小问题,就是我只需要检查n=0时遗漏的项目,重复的不需要显示在提示框中,这个请问怎么修改代 ...
仅处理 n=0 的情况
阅读权限20
在线时间 小时
jsxjd 发表于
仅处理 n=0 的情况
是的,仅处理n=0的情况。
阅读权限20
在线时间 小时
jsxjd 发表于
仅处理 n=0 的情况
Sub 检查名称()
For x = 2 To [D65536].End(xlUp).Row
& && &&&n = Application.WorksheetFunction.CountIf(Sheet1.[B:B], Cells(x, 4))
& && &&&If n = 1 Or n = 2 Or n = 3 Or n = 4 Or n = 5 Or n = 6 Then&&
& && &&&Else
& && &&&If Len(s) & 0 Then s = s & vbCrLf
& && && &s = s & &第& & x & &行& & IIf(n = 0, &是否错误:&, &&) & Cells(x, 4)
& && &&&End If
& & If Len(s) & 0 Then MsgBox s
大侠,我上面的代码能实现我上面的基本功能。& &但又有个新问题,我需要当D列数据全都出现在“客商基础表”中的B列时,需要显示提示框“收款方名称全部正确!”请问代码该如何修改?
阅读权限100
在线时间 小时
If Len(s) & 0 Then MsgBox s else msgbox &收款方名称全部正确!&
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师}

我要回帖

更多关于 多工作簿多工作表汇总 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信