2012-09-04 71 views
0

我在VBA中編寫宏。這個宏工作正常,直到我改變了順序,現在我被顯示「運行時錯誤9」。在互聯網上進行廣泛搜索後,我處於一個鬆散的結局,我檢查了表單名稱是否相同,並且表單仍然存在以及確保我引用的是正確的工作簿。誰能告訴我爲什麼我顯示這個錯誤?運行時錯誤9

Sub CopyStuff() 

Sheets("DR1 -TC-001").Select 
Range("C2:P23").Select 
'this is the cell range 
Selection.Copy 

With ActiveWorkbook Sheets.Add 
Range("C2:P23").Select 
Selection.Paste = wkb2 

End Sub 

回答

1

你的代碼運行對誤差語句作爲末隨着缺失和某些時期。

嘗試對您的代碼進行修改。

Sub CopyStuff() 

Workbooks("With_data.xlsx").Activate 
    'Activate the workbook that contains the data you want to copy  
Sheets("DR1 -TC-001").Range("C2:P23").Copy 
    'Copy a range 

ActiveWindow.ActivatePrevious 
    'Revert to the previous new workbook 

With ActiveWorkbook 
    .Sheets.Add 
    .ActiveSheet.Range("C2:P23").PasteSpecial Paste:=xlPasteAll 
End With 
    'Add a sheet and paste the copied range 

Application.CutCopyMode = False 
    'Clear the clipboard 

End Sub 
+0

謝謝,但我仍然在同一個地方得到錯誤。我已經注意到了這部分代碼,本節的所有其他變體的錯誤都是一樣的。 :S結束小節和結束小節更進一步向下我的代碼我剛剛給你一個部分:D – Hannah

+0

哪條線導致錯誤?如果它是'表格'行,那麼問題出現在表格名稱中。它是表單名稱的拼寫,或者包含表單的工作簿當前不是活動工作簿。嘗試此代碼就在行前顯示活動工作簿名稱「MsgBox ActiveWorkbook.Name」 –

+0

我wuill嘗試,我已經從工作表中粘貼和粘貼名稱。這個錯誤只發生在我移動代碼中的行時。 – Hannah