Private Sub CommandButton1_Click()
Sheets("Sheet1").Rows("22:41").EntireRow.Copy
Sheets("Sheet1").Rows("22:41").EntireRow.Insert
Dim x As Workbook
Dim y As Workbook
'## Open both workbooks first:
Set x = Workbooks.Open("C:\PatReports\T\carterreport1.csv")
Set y = Workbooks.Open("C:\PatReports\T\Carters.xlsm")
'Now, copy what you want from x:
x.Sheets("carterreport1").Range("E1:F17").Copy
'Now, paste to y worksheet:
y.Sheets("Sheet1").Range("D23:E39").PasteSpecial
'Close x:
x.Close
End Sub
我使用以下行获取超出范围的下标:
y.Sheets("Sheet1").Range("D23:E39").PasteSpecial
开头引用的工作表与工作表y相同的工作表
答案 0 :(得分:0)
在所选单元格上使用ActiveSheet.Paste。
y.Activate
y.Sheets("Sheet1").Range("D23").Select
ActiveSheet.Paste
答案 1 :(得分:0)
您正尝试将包含 17 行的2列复制到2列 16 行。试试这个:
x.Sheets("carterreport1").Range("E1:F17").Copy y.Sheets("Sheet1").Range("D23")