2012-02-17 107 views
1

在我們更新到Windows 7和Excel 2010之前,此宏工作得很好。 宏停在Activesheet.paste。所有這些都是打開文件,複製數據並將其粘貼到第一個文檔。最後有更多的代碼關閉所有打開的文檔。謝謝你,鮑勃Excel 2007宏在2010年不工作

Application.Goto Reference:="R7C14" 
Workbooks.Open Filename:="ALSP.xls" 
Workbooks("ALSP.xls").Activate 
Range("B7:L61").Select 
Application.CutCopyMode = False 
Selection.Copy 
Windows("R4SP.xls").Activate 
ActiveSheet.Paste 

回答

1

使用選擇和激活的麻煩,你應該能夠變量的引用設置到工作表(S)和做拷貝,沒有選擇直接命令。

Dim ws As Worksheet, wbREF As Workbook 

Set ws = ActiveSheet 
Set wbREF = Workbooks.Open("ALSP.xls")  'you may want to put the full path here 

Range("B7:L61").Copy ws.Range("N7")   'copy to original sheet 

wbREF.Close False       'close the opened workbook, return to ws 

要粘貼值,複製/粘貼分開,單獨的命令:

Set wbREF = Workbooks.Open("GASP.xls")  'you may want to put the full path here 

Range("B7:L61").Copy 
ws.Range("AL7").PasteSpecial xlPasteValues 'copy to original sheet 
wbREF.Close False 
+0

非常感謝你這一點。它工作完美。我現在有另一個問題。我需要複製的文件之一有公式等。我需要它來粘貼值。你能幫忙嗎? – 2012-02-21 12:34:44

+0

我已經編輯了上面的帖子給第二個選項來粘貼值。 – 2012-02-22 00:52:08

+0

謝謝soo。我確實有正確的代碼,但我沒有把它放在一個單獨的行。偉大的幫助。 – 2012-02-22 11:30:45