vba如何实现将一个EXCEL文件中(关闭的文件)的SHEET页复制到当前的EXCEL中

有加分
我想把源文件设置成选择打开(INPUT)的形式.
能不能不打开源文件,直接在当前文件上COPY啊?

Sub copySheet()
Dim wkbk As Workbook
Set wkbk = Workbooks.open("源文件.xls") '先打开要复制的文件
wkbk.sheets(1).Copy thisworkbook.sheets(1) '再将此文件中第一个工作表复制到当前工作簿的第一个工作表前
End Sub

这样是最简单的代码了,但是有些限制:如果工作表的某些单元格中字符数超过255个,则副本的该单元格中只保留前255个字符。

如果复制源文件中第一个工作表内容到当前工作簿第一个工作表中,用下列代码:
Sub copySheet()
Dim wkbk As Workbook
Set wkbk = Workbooks("book2") '先打开要复制的文件
wkbk.Sheets(1).UsedRange.Copy '复制源文件中第一个工作表的内容
ThisWorkbook.Sheets(1).Range("A1").Paste '粘贴到当前工作簿第一个工作表中
End Sub

另外,欢迎到office精英俱乐部http://www.officefans.net/cdb/index.php来作客:)
------------引用-------------------
我想把源文件设置成选择打开(INPUT)的形式.
能不能不打开源文件,直接在当前文件上COPY啊?

-----------回答--------------------------
如果用VB的open **** for input语句打开excel,那样得不到任何有用数据的,因为xls文件不是以文本方式保存,而是以二进制方式保存的。
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网