EXCEL求VBA代码,点击按钮实现从未打开的EXCEL表sheet1文件复制内容到当前已打开的EXCEL表sheet1

把1个未打开状态的excel文件表sheet1中所有存在的内容(范围:A列到O列)复制到当前已打开的excel表sheet1(范围:A列到O列)同时要求复制格式,特别是当... 把1个未打开状态的excel文件表sheet1中所有存在的内容(范围:A列到O列)复制到当前已打开的excel表sheet1(范围:A列到O列)同时要求复制格式,特别是当源表有筛选状态时一定要先解除筛选才可以复制。
求高手解答最好能提供excel范例文件。
按钮可以放在sheet2
展开
 我来答
zzhilling
2014-09-10 · TA获得超过2700个赞
知道大有可为答主
回答量:3255
采纳率:45%
帮助的人:1115万
展开全部

附件是例子,自己根据情况自行修改

更多追问追答
追问

我测试了一下,代码有问题啊,先是报错,然后直接死机。

追答

修改如图蓝色代码

我现在是不提示也不出错,如果你出错我想是不是版本问题

你是不是用WPS???

我用的是2003


可以试试把close里面的false去掉看看

阳光上的桥
2014-09-10 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65810
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

一般代码这样写:

sub xxx()
    Workbooks.Open Filename:="你要打开的文件名字,例如c:\a.xls"
    sheet1.[a1].AutoFilter
    sheet1.[a:o].copy ThisWorkbook.sheet1.[a:o]
    ActiveWorkbook.Close
end sub

程序三个语句,第一个打开文件,第二个取消筛选(如果原来没有筛选会加上筛选,但这并不影响后面的复制),第三个语句完成复制,第四个关闭文件

追问
能否来个范例呢,两个文件设置在同一目录下,实际使用会出现不少错误的。
虽然我不是很懂VBA,但是你的代码里没有用End(xlUp) 来进行对源行数进行判断,而是直接把A:O列的内容直接复制过去会不会对内存资源的浪费啊?
追答
上面的就是范例,有什么地方需要更详细的吗?
无需使用end,整列复制不会浪费内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ExcelOffice
2014-09-10 · TA获得超过570个赞
知道小有建树答主
回答量:1583
采纳率:0%
帮助的人:740万
展开全部
你自己现在代码写到怎样的程度了?
更多追问追答
追问
我的目的是要获取未打开的excel中的数据,每次自己打开多麻烦。
追答
试下getobject
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

2014-09-10 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8343
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
代码由点长
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式