繁体   English   中英

Excel 宏中的错误:应用程序定义或对象定义错误

[英]Error in Excel macro: Application-defined or object-defined error

我的 Excel 宏中有一个非常基本的问题。 我用 Excell 录制了一个宏,然后只在上面选择了一张纸,如您所想,生成的代码如下:

Sub Macro2()
    Sheets("Graphs").Select
End Sub

但是当我尝试执行上面的宏时,出现错误:“应用程序定义或对象定义错误”

有人见过这个吗?

您收到的错误表明 VBA 无法确定您指的是哪个对象。

VBA 很好,因为它是“智能的”,并且允许您在不准确指定所指内容的情况下进行编程。

由于完全相同的原因,VBA 很糟糕,因为很难确定为什么 VBA 不使用您希望它使用的对象,除非您知道 VBA 使用的优先级。 这不仅适用于对象,而且适用于“隐式”类型变量,您可能希望 VBA 将您的变量作为数字处理,但 VBA 的“智能”使其将其作为字符串处理。

解决此问题的方法是明确键入希望 VBA 执行的操作,在您的情况下,VBA 可能试图在没有名为“Graphs”的工作表的不同工作簿中访问名为“Graphs”的工作表。

试试这个:

Sub MyMacro()
Dim myWorkBook As Excel.Workbook
Dim myWorkSheet As Excel.Worksheet

Set myWorkBook = Application.Workbooks("nameofyourworkbook.xlsm")
Set myWorkSheet = myWorkBook.Sheets("Graphs")
myWorkSheet.Select

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM