[英]VBA- Paste Values error
我正在嘗試從另一個Excel工作表中粘貼值,但是下面的代碼始終返回錯誤。 我究竟做錯了什么 ?
設置tempWB = Application.Workbooks.Open(vrtSelectedItem)'這將打開參考工作簿
Sheets("Portfolio Worksheet 8.8").Select 'SELECT A SHEET if you need to
Range("B16:B30").Select 'select SOME RANGE
Selection.Copy 'COPY SOME RANGE
mainWB.Activate 'activate your main workbook
Sheets("Sheet1").Select 'select target sheet
Range("C20").Select 'select target cell
ActiveSheet.PasteSpecial xlPasteValues 'paste the data from the reference worksheet
tempWB.Save 'save and close the reference workbook
tempWB.Close
無需任何選擇或復制粘貼
Set tempWB = Application.Workbooks.Open(vrtSelectedItem)
With tempWB.Sheets("Portfolio Worksheet 8.8").Range("B16:B30")
mainWB.Sheets("Sheet1").Range("C20").Resize(.Rows.Count, _
.Columns.Count).Value = .Value
End With
tempWB.Save 'save and close the reference workbook
tempWB.Close
看起來您沒有聲明變量'mainWB'嗎?
下面的工作,謝謝你的建議,但是,如果我想同時復制粘貼幾個范圍。 因此,下面的代碼返回“ Next for”錯誤。 我認為**中的代碼的第二部分引起了問題
設置tempWB = Application.Workbooks.Open(vrtSelectedItem)'這將打開參考工作簿
' Sheets("Portfolio Worksheet 8.8").Select 'SELECT A SHEET if you need to
With mainWB.Sheets("Sheet1").Range("B16:B30")
tempWB.Sheets("Sheet5").Range("B16:B30").Resize(.Rows.Count, _
.Columns.Count).Value = .Value
**With mainWB.Sheets("Sheet1").Range("D16:D30")
tempWB.Sheets("Sheet5").Range("D16:D30").Resize(.Rows.Count, _
.Columns.Count).Value = .Value**
End With
tempWB.Save 'save and close the reference workbook
tempWB.Close
Next vrtSelectedItem
Else 'The user pressed Cancel.
End If
End With
Set fd = Nothing 'Set the object variable to Nothing.
結束子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.