作者:乔山办公网日期:
返回目录:excel表格制作
运行之后,选择那个“636f70797a686964616f332文件2”,点确定,就把“文件2”里"sheet3"的A1:L1000复制到运行文档“sheet1”的B2:M1001了~
附件文档的模块1里,按alt+f11打开编辑器
http://pan.baidu.com/s/1c2kxQ9q
Sub a()
Dim a
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = ThisWorkbook.Path
If .Show = -1 Then
Set a = Workbooks.Open(.SelectedItems(1))
a.Sheets("sheet3").AutoFilterMode = False
a.Sheets("sheet3").Range("A1:L1000").Copy ThisWorkbook.Sheets("sheet1").Range("B2")
a.Close False
End If
End With
End Sub
VBA一个语百句能度实现问复制答,语句回如下答:
WorkBooks("Book1.XLS").Sheets("Sheet1").Range("B1:C4").Copy WorkBooks("Book2.XLS").Sheets("Sheet1").Range("A1:B4")
Sub copySheet()
Dim wkbk As Workbook
Set wkbk = Workbooks.open("源文件.xls") '先打开要复制的文件
wkbk.sheets(1).Copy thisworkbook.sheets(1) '再将此文件中第一个工作表复制到当前工作簿的第一个工作表前
End Sub
这样是最简单的代码了,但是有些限制:如果工作表的某些单元格中字符数超过255个,则副本的e5a48de588b6e79fa5e98193364该单元格中只保留前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:///cdb/index.php来作客:)
------------引用-------------------
我想把源文件设置成选择打开(INPUT)的形式.
能不能不打开源文件,直接在当前文件上COPY啊?
-----------回答--------------------------
如果用VB的open **** for input语句打开excel,那样得不到任何有用数据的,因为xls文件不是以文本方式保存,而是以二进制方式保存的。
按ALT+F11,插入百一个模块,输入下列度代码.即可
Sub copyAll()
fname = "C:\Book2.xls" '需要复制的知excel文件道地址及文件名内,你自己修改
Set d = GetObject(fname) '打开文件
d.sheets("sheet1").Cells.Copy ActiveSheet.Cells(1, 1) '将sheet1完全容复制到当前表
d.Close '关闭文件
Set d = Nothing
End Sub