我想将指定范围内的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
,还是我犯了错误?
答案 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。