将文本从一个excel复制到另一个excel

时间:2013-11-18 02:47:09

标签: excel excel-vba vba

我想将指定范围内的excel文件中的文本复制到同一位置的另一个excel文件

以下是我尝试的代码

Sub OneCell()

    ChDir "C:\Workfile"
    Windows("simple av & cv template(Level).xls").Activate
    Sheets("Table ENG SG").Select
    Range("C9:C44").Select
    Selection.Copy
    Windows("Finalize").Activate
    Sheets("sheet1").Select
    ActiveSheet.Paste

End Sub

我是否需要先在程序开头定义sth,还是我犯了错误?

1 个答案:

答案 0 :(得分:0)

假设您的工作簿都在Excel的同一个实例中打开,您可以通过转到“视图”选项卡>来确认。切换Windows并查看是否列出了两个工作簿名称:

Sub ModifiedOneCell()
Workbooks("simple av & cv template(Level).xls").Sheets("Table ENG SG") _
.Range("C9:C44").Copy _
Destination:=Workbooks("Finalize").Sheets("sheet1").Range("C9:C44")
End Sub

可以通过在VBA中打开对象浏览器(按F2),向下滚动到Range对象,从右侧窗格的列表中单击复制然后按F1来找到帮助。

[空格] [行末尾的下划线是VBA中的行继续组合键,允许您拆分长行代码以便于阅读。

如果您的工作簿在单独的Excel实例中打开(即在Switch Windows中只能看到一个),那么复制到剪贴板并选择Windows就像在代码中一样,这是正确的方法。

您需要添加

Range("C9:C44").PasteSpecial xlPasteAll

取代

ActiveSheet.Paste

将结果输入所需范围

范围没有粘贴方法 - 只有PasteSpecial。