在 Visual Basic for Applications 中,并非所有 Excel 工作表函数都支持应用程序对象的方法

有关 Microsoft Excel 97 及更早版本或 Microsoft Excel 98 Macintosh 版或更早版本的文章,请参阅 107564

摘要

在 Microsoft Visual Basic for Applications 中,并非所有 Microsoft Excel 工作表函数都受支持为 Application 对象的方法。 如果您尝试将其中一个工作表函数与 应用程序 对象配合使用,则会收到以下错误消息:

运行时错误 "438":对象不支持此属性或方法

更多信息

你可以编写调用 Microsoft Excel 工作表函数的 Visual Basic 过程。 Visual Basic 过程可用的工作表函数位于application对象中,并在 Visual Basic 对象浏览器中的应用程序对象的 "方法" 或 "属性" 列表中列出。大多数工作表函数不能用作应用程序对象的方法,它具有等效的 Microsoft Visual Basic 内置运算符或函数。 例如, MOD 工作表函数不可用作 Application 对象的方法,因为有一个等效的 MOD 运算符内置于 Visual Basic 中。 Visual Basic 运算符的工作速度比 Visual Basic 模块中的 Microsoft Excel 函数更快。

Excel 工作表函数可用作 Visual Basic 中的方法

注意:以下步骤假设你已安装 Visual Basic 帮助文件。若要显示可用作 Visual Basic 中 应用程序 对象的方法的所有 Microsoft Excel 工作表函数的列表,请按照下列步骤操作:

  1. 在 "Visual Basic 编辑器" 中,在 "Microsoft Office 助手" 中键入 工作表函数 ,然后单击 " 搜索"。

  2. 在主题列表中,单击 " Visual Basic 可用的工作表函数列表"。

若要查找不作为 Application 对象方法使用的 Microsoft Excel 工作表函数的等效 Visual Basic 运算符或函数,请按照下列步骤操作:

  1. 在 "Visual Basic 编辑器" 中,在 "Office 助手" 中键入函数或运算符名称,然后单击 " 搜索"。 例如,键入 " mod"。

  2. 在主题列表中,单击函数或运算符的主题。 例如,单击 " Mod" 运算符 主题。

下表包含不可用作 Application 对象的方法的工作表函数。 Visual Basic 等效列列出了可用于生成结果的函数,这些函数与函数返回的结果相同(或类似于)结果。 Microsoft Excel Visual Basic worksheet function equivalent ------------------------------------------------------------------- ABS() Abs function ATAN() Atn function CHAR() CHR function CODE() ASC function COS() Cos function DATE() DATESERIAL function ERROR.TYPE() ERR function EXACT() STRCOMP function EXP() Exp function INDIRECT() No direct equivalent - use Range, Cells, Offset, or any other way of referencing cells. INFO() No direct equivalent - use the following: CURDIR function, the following Application properties (MEMORYTOTAL, MEMORYUSED, MEMORYFREE, VERSION, OPERATINGSYSTEM, CALCULATION, COUNT) ISBLANK() ISEMPTY function ISREF() TYPENAME function LEN() LEN function LOWER() LCASE function N() No equivalent (none needed) NA() No equivalent - use ActiveCell.Value = "#N/A" RAND() RND function RANDOMIZE() Randomize function SIN() Sin function SIGN() Sgn function SQR() Sqr function SQRT() Sqr function T() No equivalent (none needed) TAN() Tan function TODAY() DATE function TRUNC() FIX function TYPE() TYPENAME function UPPER() UCASE function VALUE() VAL function 注意: Microsoft Excel 工作表函数和 Visual Basic 等效运算符或函数并非始终以相同的方式计算,并且可能会提供不同的结果,即使它们具有相同的名称也是如此。使用 Visual Basic 等效运算符或函数是提高计算的速度和灵活性的首选运算符或函数。 此外,Visual Basic 运算符或函数适用于使用 Microsoft Visual Basic for Applications 的所有应用程序。虽然建议使用上述列表中所示的 Visual Basic 运算符或函数,但如果有必要,还可以使用 Visual Basic 宏中的工作表函数的替代方法。 例如,你可以使用ExecuteExcel4Macro或计算函数在 Visual Basic 宏中使用ATAN工作表: x = Application.ExecuteExcel4Macro("Atan(12)") 或 x = Application.Evaluate("Atan(12)")

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×