No todas las funciones de hoja de cálculo de Excel se admiten como métodos del objeto Application en Visual Basic para Aplicaciones


Para Microsoft Excel 97 y versiones anterior o Microsoft Excel 98 Macintosh Edition o una versión anterior de este artículo, consulte 107564 .

Resumen


En Microsoft Visual Basic para Aplicaciones, no todas las funciones de hoja de cálculo de Microsoft Excel se admiten como métodos del objeto Application . Si intenta utilizar una de estas funciones de hoja de cálculo con el objeto Application , recibirá el siguiente mensaje de error:
Error de tiempo de ejecución '438': objeto no admite esta propiedad o método

Más información


Puede escribir los procedimientos de Visual Basic que llaman a las funciones de hoja de cálculo de Microsoft Excel. Las funciones de hoja de cálculo que están disponibles para los procedimientos de Visual Basic están en el objeto Application y se muestran en la lista de Propiedades para el objeto Application en la Browser.Most de objeto de Visual Basic ométodos funciones de hoja de cálculo que no están disponibles como métodos del objetoApplication tienen una función o un operador integrado de Microsoft Visual Basic equivalentes. Por ejemplo, la función de hoja de cálculo MOD no está disponible como un método del objeto Application porque hay un operador Mod equivalente integrado en Visual Basic. Un operador de Visual Basic funciona más rápido que una función de Microsoft Excel en un módulo de Visual Basic.

Funciones de hoja de cálculo disponibles como métodos de Visual Basic de Excel

Nota: los pasos siguientes se supone que ha instalado el archivo de Ayuda de Visual Basic. Para mostrar una lista de todas las funciones de hoja de cálculo de Microsoft Excel están disponibles como métodos del objeto Application en Visual Basic, siga estos pasos:
  1. En el Editor de Visual Basic, escriba funciones de hoja de cálculo en el Ayudante de Microsoft Office y, a continuación, haga clic en Buscar.
  2. En la lista de temas, haga clic en Lista de hoja de cálculo las funciones disponibles en Visual Basic.
Para localizar el operador equivalente de Visual Basic o la función de una función de hoja de cálculo de Microsoft Excel no está disponible como un método de objeto de aplicación , siga estos pasos:
  1. En el Editor de Visual Basic, escriba el nombre de la función o el operador en el Ayudante de Office y, a continuación, haga clic en Buscar. Por ejemplo, escriba mod.
  2. En la lista de temas, haga clic en el tema de la función o el operador. Por ejemplo, haga clic en el tema del Operador Mod .
La tabla siguiente contiene las funciones de hoja de cálculo que no están disponibles como métodos del objeto Application . La columna equivalente de Visual Basic muestra funciones puede utilizar que producen resultados los resultados iguales (o muy similares) que devuelven las funciones.
   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 
Nota: la función de hoja de cálculo el Microsoft Excel y el operador equivalente de Visual Basic o la función no siempre se calculan del mismo modo y puede dar resultados diferentes, incluso cuando tienen el mismo nombre. Es preferible para mayor velocidad y flexibilidad en los cálculos utilizando el operador equivalente de Visual Basic o una función. Además, el operador de Visual Basic o la función está disponible para todas las aplicaciones que utilizan Microsoft Visual Basic para Applications.Although, se recomienda que utilice los operadores de Visual Basic o funciones que se muestran en la lista anterior, hay alternativas métodos para usar las funciones de hoja de cálculo en una macro de Visual Basic, si es necesario. Por ejemplo, puede utilizar la hoja de cálculo ATAN en la macro de Visual Basic utilizando el ExecuteExcel4Macro o evaluar funciones:
   x = Application.ExecuteExcel4Macro("Atan(12)") 
O bien
   x = Application.Evaluate("Atan(12)")