0

我正在用 VBA 编写宏。这个宏工作正常,直到我改变了顺序,现在我被显示为“运行时错误 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
4

1 回答 1

1

由于缺少End With和一些句点,您的代码在With语句上运行出错。

尝试对您的代码进行这种改编。

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
于 2012-09-04T09:17:39.557 回答