Excel求用VBA将未打开的xlsx文件a表内A1:J16区域,复制到已打开的excel中b表的A1:J16,要求复制格式。

在已打开的Excel文件中设了一个按钮,点击后将未打开Excel中的区域复制过来。... 在已打开的Excel文件中设了一个按钮,点击后将未打开Excel中的区域复制过来。 展开
 我来答
百度网友00e0b84
2014-09-03 · TA获得超过483个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:465万
展开全部

就算使用VBA调用,也是将那个文件打开才能复制的。如果文件很大,一样会慢。

如果您想试试也行,以下是代码

Sub openandcopy()
Set excel_book = Workbooks.Open("需要打开的文件路径") '形如"E:\xxx\xxx\xxx.xlsx"保留英文双引号
excel_book.Visible = False'使其不可见
Set excel_sheet = excel_book.Sheets("被复制的表名")
excel_sheet.Range("A1:J16").Copy ThisWorkbook.Sheets("你需要复制到的表的名字").Range("A1")
excel_book.Close False
Set excel_book = Nothing
Set excel_sheet = Nothing
End Sub
更多追问追答
追问

按你的代码,出现了错误,主要是目标地址我通过VLOOKUP函数查询到,然后提取那个单元格的值。

追答
你将包含thisworkbook.path & ....Cells(5,20) 这一段,用一个Msgbox输出看看有没有哪里不对,目前我也不大清楚。
你的Cells(5,20)里面包含了.xlsx什么的么?
草履虫而
2014-09-03 · TA获得超过1734个赞
知道小有建树答主
回答量:1339
采纳率:41%
帮助的人:948万
展开全部
打开再复制不行吗?
更多追问追答
追问
打开再复制考验电脑的性能啊,最好能在内存中实现。
追答
呵呵,一般的电脑能扛得住吧~
我不会搞,看看其他大神吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式