Excel精英培训网

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

[已解决]求助vba高手:在不打开数据工作簿的前提下,在目标工作表中显示相关数据

[复制链接]
发表于 2011-3-21 19:51 | 显示全部楼层 |阅读模式
本帖最后由 cbdjx 于 2011-3-21 20:45 编辑

这是我在工作中遇到的一个问题:数据工作簿有上万个,每个工作簿有若干个工作表,想建立一个查询或索引工作簿,便于查询或统计,在不打开数据工作簿的情况下,通过vba进行调用显示有关数据,如在B1输入1001,则在B2处显示出1001.xls相应数据,如不存在1001.xls,显示提示信息。
谢谢!

索引工作簿与数据工作簿结构相同,只是在户号处填写想查询的数据后,执行相应宏命令,在目标处显示相应数据工作簿上的有关数据,实际需显示的有很多,有一个就可拓展开来。

我VBA水平较差,希望高手用附件指导。

最佳答案
2011-3-21 21:25
Sub dd()
Dim wb As Workbook
Set wb = GetObject(ThisWorkbook.Path & "/" & [b1] & ".xls")
[b2] = wb.Sheets(1).[b2]
Windows(wb.Name).Visible = True
wb.Close False
Set wb = Nothing
End Sub

11.rar

4.67 KB, 下载次数: 107

发表于 2011-3-21 20:17 | 显示全部楼层
你的表格取数有什么规律,把你的表格稍做完整一下,只给出一两个数据,还看不出来
回复

使用道具 举报

发表于 2011-3-21 20:35 | 显示全部楼层
根据B1 你可以知道要打开的工作簿名称, 这样就可以用VB 打开工作簿 然后用VB隐藏掉那个工作簿 并且把相应数据显示到B2

回复

使用道具 举报

发表于 2011-3-21 21:06 | 显示全部楼层
你会用getobject函数吗,这个可以隐式打开,取回数据后再关闭文件
回复

使用道具 举报

发表于 2011-3-21 21:25 | 显示全部楼层    本楼为最佳答案   
Sub dd()
Dim wb As Workbook
Set wb = GetObject(ThisWorkbook.Path & "/" & [b1] & ".xls")
[b2] = wb.Sheets(1).[b2]
Windows(wb.Name).Visible = True
wb.Close False
Set wb = Nothing
End Sub
回复

使用道具 举报

发表于 2011-3-21 21:28 | 显示全部楼层
只会ado[em04]
回复

使用道具 举报

发表于 2011-3-28 20:12 | 显示全部楼层
{:011:}{:011:}
回复

使用道具 举报

发表于 2011-3-29 08:09 | 显示全部楼层
回复 兰色幻想 的帖子

如果提取的是“b2:b5”区域内数据,代码如何改?
回复

使用道具 举报

发表于 2011-3-29 08:31 | 显示全部楼层
lgzxmlg 发表于 2011-3-29 08:09
回复 兰色幻想 的帖子

如果提取的是“b2:b5”区域内数据,代码如何改?

[b2:b5] = wb.Sheets(1).[b2:b5]
回复

使用道具 举报

发表于 2011-3-29 09:19 | 显示全部楼层
回复 兰色幻想 的帖子

为什么我按老师的修改后,提取不到数据?

11.rar

9.56 KB, 下载次数: 73

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 00:18 , Processed in 0.464323 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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