vba如何打开并复制别的表格

你好,我在D盘下wb文件夹中有一个叫sa1.xlsx 的表格,希望用宏命令打开这个表格,并将其sheet2中的全部内容复制到当前运行宏的表格的sheet3里面,该如何写,谢谢.

    打开别的表格可以用Workbooks.Open方法打开一个Excel工作簿,这个函数的具体用法和参数如下:
    Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
    其中FileName是必选的参数,表示要打开的工作簿名,如果没有指定路径,则代表当前路径。另外14个是可选参数,除了密码参数,其他的一般很少用。具体的含义可以参看VBA的帮助。
    实例:
    Workbooks.Open "F:\test.xls"         ‘表示打开F盘根目录名称为test.xls的文件
    可以打开F盘的test.xls文件。

    复制别的表格可以用Copy方法。选中你要复制的工作表,然后复制工作表中的所有内容,然后粘贴到你要复制到的工作薄。假设你要复制的是C盘用户文档下的123.xls文件中的Sheet5工作表,需要复制到你已经打开的第一个工作薄Book1,具体的实现代码为:

    Sub Macro()

    ’下面一行代码表示打开C盘用户文档文件夹中名称为123.xls的文件

    Workbooks.Open Filename:= _

       "C:\Documents and Settings\Administrator\My Documents\123.xls"

        Sheets("Sheet5").Select            ‘选中你要复制的工作表Sheet5             ‘

        Cells.Select                                   '选中Sheet5中所有的单元格

        Selection.Copy                             '复制选中的内容                  

        Windows("Book1").Activate         '把工作薄Book1置为当前工作薄

        ActiveSheet.Paste                         '把复制的内筒粘贴的当前工作薄Book1

        End Sub

追问

这么详细!谢谢您

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-11
Sub xxx()
    Dim st
    Set st = ActiveWorkbook.Sheet3
    Workbooks.Open "d:\wb\sa1.xlsx"
    ActiveWorkbook.Sheet2.Cells.Copy st.Cells
    ActiveWorkbook.close
End Sub

追问

 你好,运行这句出问题,文字出现黄色标记了,

Set st = ActiveWorkbook.Sheet3

追答

非常希望你说一下报错的内容,这样修改试试看:
Set st = ActiveWorkbook.Sheets("Sheet3")

追问

老师你好,现在是这样
3 Workbooks.Open "d:\hello\task.xls"
4 ActiveWorkbook.Sheet1.Cells.Copy st.Cells
我就是想把task.xls中的sheet1复制到当前空白表格的sheet2里面,该如何写,目前运行出错,在第4行

追答

对于不明白的程序错误,请粘贴错误行的内容,以及错误说明内容。

本回答被提问者采纳
相似回答