有加分
我想把源文件设置成选择打开(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文件不是以文本方式保存,而是以二进制方式保存的。
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文件不是以文本方式保存,而是以二进制方式保存的。
温馨提示:答案为网友推荐,仅供参考