首页 > 解决方案 > VBA从一个excel表复制到另一个excel表?

问题描述

我基本上是将一个excel文件表复制到excel文件的特定表(与我编写宏的文件相同)。我收到错误-运行时错误'9':WbTarget.Sheets行上的下标超出范围("FPP").Range("A1:E654").PasteSpecial
我在 VBA 方面不太擅长 - 请帮帮忙?

Sub XMLR()
Dim output As String
output = CreateObject("WScript.Shell").Exec("R CMD BATCH  filepath.R").StdOut.ReadAll
Call XML
End Sub

Sub XML()
Dim wbTarget            
Dim wbThis              
Dim strName             
Set wbThis = Workbooks.Open("file.xlsx")
wbThis.Activate
strName = ActiveSheet.Name
Set wbTarget = ActiveWorkbook
Application.CutCopyMode = False
wbThis.Sheets("Sheet1").Range("A1:E654").Copy
wbTarget.Sheets("FPP").Range("A1:E654").PasteSpecial
Application.CutCopyMode = False
wbTarget.Save
wbTarget.Close
wbThis.Close
Set wbTarget = Nothing
Set wbThis = Nothing
End Sub

标签: vbaexcel

解决方案


有点混乱,但试试这个:

Sub XML()

Dim wbTarget As Workbook
Dim wbThis As Workbook
Dim strName As String

Set wbThis = Workbooks.Open("file.xlsx")

ThisWorkbook.Sheets("FPP").Range("A1:E654").Value = wbThis.Sheets("Sheet1").Range("A1:E654").Value

wbTarget.Save
wbTarget.Close
wbThis.Close

Set wbTarget = Nothing
Set wbThis = Nothing

End Sub

推荐阅读