2014-09-12 141 views
0

我想从另一个Excel工作表粘贴值,但我的代码在下面一直返回一个错误。我究竟做错了什么 ?VBA-粘贴值错误

设置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 
+0

有什么错误? – 2014-09-12 15:44:14

回答

0

它看起来并不像你声明了变量 'mainWB'?

+0

对不起,我没有把整个代码,因为它只需要粘贴功能需要空间代码工作,当我做粘贴值它给了我一个错误 – Ian 2014-09-12 15:38:49

+0

尝试:表(“Sheet1”)。范围(“C20”) .PasteSpecial xlPasteValues Application.CutCopyMode = False – Uberzen1 2014-09-12 15:42:06

1

无需任何选择或复制粘贴

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 
+0

谢谢将Sheet1范围更改为范围(“B16:B30”)后工作 – Ian 2014-09-12 16:01:45

0

下面这工作,感谢的建议,但是如果我要复制的同时粘贴多个范围。所以下面的代码返回“Next for 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. 

末次