簡體   English   中英

VBA從一個Excel工作表復制到另一個Excel工作表?

[英]VBA copying from one excel sheet to another excel sheet?

我基本上是將一個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

有點混亂,但是請嘗試以下操作:

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

這里的問題是WbTarget和WbThis都引用同一工作簿。

您應該更改聲明:

Set wbTarget = ActiveWorkbook

Set wbTarget = Application.ThisWorkbook

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM