2012-09-04 53 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