我刚录制了这个宏并将其粘贴到我的主代码中,该代码位于其中一个工作表内。当我用我的代码运行它时,它会抛出一个错误,我不知道为什么?
有什么想法吗?
Sub pastem()
Windows("Main.xlsm").Activate
Sheets("Work").Select
Range("B6").Select 'error at this position
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B6").Select
End Sub
由于
答案 0 :(得分:3)
Range("B6")
是不合格的参考。标准模块中的非限定范围引用是指活动工作表。工作表类模块中的非限定范围引用引用类模块表示的工作表。由于您的代码不在“Works”类模块中,因此您尝试选择一个不在活动表上的范围,这是您无法做到的。这是一个不依赖于某个活动表单的示例。
Sub pastem()
With Workbooks("Main.xlsm").Sheets("Work").Range("B6")
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Application.CutCopyMode = False
End Sub