EXCEL用宏命令调用其他工作薄的特定工作表,该怎么写

SubCombineWorkbooks()DimFilesToOpenDimxAsIntegerOnErrorGoToErrHandlerApplication.Scre... Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "没有选中文件" GoTo ExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) x = x + 1 WendExitHandler: Application.ScreenUpdating = True Exit SubErrHandler: MsgBox Err.Description Resume ExitHandlerEnd Sub?这个宏的命令是一个工作薄里导入其他工作薄,但是是整个导入,而不能甄别特定的工作表。若想要改这个EXCEL的宏,增加新功能,比如用此宏在:新建文件.XLS 打开会提示选择工作薄,然后选择导入 1.XLS、2.XLS、3.XLS 工作薄,此时增加筛选项,筛选导入工作薄里的特定工作表,如工作薄 1.XLS、2.XLS、3.XLS 下的子表【消息】。要怎么做呢。
其实是类似的问题
http://zhidao.baidu.com/question/556536881.html#
展开
 我来答
hwjljf
2013-06-06 · TA获得超过217个赞
知道小有建树答主
回答量:388
采纳率:100%
帮助的人:221万
展开全部
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

On Error GoTo ErrHandler
Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件")

If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
GoTo ExitHandler
End If
dim shn '增加的第1句
dim i '增加的第2句
shn= InputBox("请输入需要导入的Sheet名", "导入") '增加的第3句
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
for i=1 to sheets.count '增加的第4句
if sheets(i).name=shn then Sheets(i).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) '此句有修改
next i '增加的第5句
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
更多追问追答
追问
没有导入数据,反而是将选中的工作薄全打开了。。。怎么破
追答
如果方便请把你的QQ告知我,然后发文件给我,我帮你看看!
香格里拉稻草人
2013-06-06 · TA获得超过385个赞
知道小有建树答主
回答量:494
采纳率:66%
帮助的人:379万
展开全部

打开导入工作簿,点击按钮,1.xls, 2.xls, 3.xls工作簿消息工作表数据依次导入“导入”工作簿中,rar中包括4个工作簿,不明白hi我。

更多追问追答
追问
用不来= =我要导的表又不一定是【消息】。。。
追答
如工作薄 1.XLS、2.XLS、3.XLS  下的子表【消息】。要怎么做呢。
代码是根据你提问中的这句意思编写,肯定是没有问题的,你总不可能1.xls中导的表是“消息”,2.xls中要导的表又是“X”,3.xls再来个“Y"吧?具体要导的工作表名称可以改的,现在是根据你的提问我的回答是正确的就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安全护航9

2013-06-06 · TA获得超过12万个赞
知道顶级答主
回答量:11万
采纳率:92%
帮助的人:9100万
展开全部
Windows("1.xls").Activate
Sheets("消息").Select
更多追问追答
追问
这是什么东西!?
追答
宏中间的二句,如果你的三个电子薄都打开着,第一句就是使1.xls被选中,第二句就是消息电子表被选中,以后你就可以操作表中数据了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-06
展开全部
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

On Error GoTo ErrHandler
Application.ScreenUpdating = False
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_sint
2013-06-07 · TA获得超过782个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:185万
展开全部
这个问题是为了实现那个类似问题的效果?
你把文件发我邮箱,邮箱里写清楚需求,我给你写个代码。
wwiw414@163.com
更多追问追答
追问
就是我提问里要求的效果啊
追答
发文件吧,写代码不想折腾。
直接说太耗时。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式