Nem todas as funções de planilha do Excel são suportadas como métodos do objeto Application no Visual Basic for Applications

Para um Microsoft Excel 97 e anterior ou Microsoft Excel 98 Macintosh Edition ou versão anterior deste artigo, consulte 107564 .

Resumo

No Microsoft Visual Basic for Applications, nem todas as funções de planilha do Microsoft Excel são suportadas como métodos do objeto Application. Se você tentar usar uma dessas funções de planilha com o objeto Application, você receberá a seguinte mensagem de erro:

Nota

Run-Time Erro '438':
O objeto não suporta esta propriedade ou método

Mais Informações

Pode escrever procedimentos do Visual Basic que chamam funções de folha de cálculo do Microsoft Excel. As funções de planilha que estão disponíveis para procedimentos do Visual Basic estão no objeto Application e são listadas na
Métodos ou lista de propriedades para o objeto Application no Pesquisador de objetos do Visual Basic.

A maioria das funções de folha de cálculo que não estão disponíveis como métodos do
O objeto Application tem um operador ou função equivalente interna do Microsoft Visual Basic. Por exemplo, a função de planilha MOD não está disponível como um método do objeto Application porque há um operador Mod equivalente embutido no Visual Basic. Um operador Visual Basic funciona mais rápido do que uma função do Microsoft Excel em um módulo Visual Basic.

Funções de folha de cálculo do Excel disponíveis como métodos no Visual Basic

Observação : as etapas a seguir assumem que você instalou o arquivo de Ajuda do Visual Basic.

Para exibir uma lista de todas as funções de planilha do Microsoft Excel que estão disponíveis como métodos do objeto Application no Visual Basic, execute estas etapas:

  1. No Visual Basic Editor, digite funções de planilha no Assistente do Microsoft Office e clique em Pesquisar.

  2. Na lista de tópicos, clique em Lista de funções de planilha disponíveis para Visual Basic.

Para localizar o operador ou função equivalente do Visual Basic de uma função de planilha do Microsoft Excel que não está disponível como um método de objeto Application, execute estas etapas:

  1. No Visual Basic Editor, digite o nome da função ou operador no Assistente do Office e clique em Pesquisar. Por exemplo, digite mod.

  2. Na lista de tópicos, clique no tópico da função ou operador. Por exemplo, clique no tópico Operador mod.

A tabela a seguir contém funções de planilha que não estão disponíveis como métodos do objeto Application. A coluna Equivalente do Visual Basic lista as funções que pode utilizar que produzem resultados da mesma forma (ou semelhantes) aos resultados que as funções devolvem.

   Microsoft Excel Visual Basic
   equivalente a função folha de cálculo
   -------------------------------------------------------------------
   ABS() Função ABS
   Função ATAN() Atg
   Função CHR CHAR()
   Função ASC CÓDIGO()
   COS() Função Cos
   DATA() Função DATASÉRIE
   ERRO. TYPE() Função ERR
   Função EXACT() STRCOMP
   Função EXP() Exp
   INDIRETO() Sem equivalente direto - use Range,
                                     Células, Deslocamento ou qualquer outra forma de
                                     células de referência.
   INFO() Sem equivalente direto - use o
                                     seguinte:
                                     Função CURDIR, o seguinte
                                     As propriedades da aplicação (MEMORYTOTAL,
                                     MEMORYUSED, MEMORYFREE, VERSÃO,
                                     SISTEMA OPERATIVO, CÁLCULO, CONTAGEM)
   Função ISBLANK() ISEMPTY
   É.REF() Função NOMETIPO
   Função NÚM.CARAT()
   Função MINÚSCULAS() LMINÚSCULA
   N() Sem equivalente (não é necessário)
   NA() Sem equivalente - utilização
                                     ActiveCell.Value = "#N/A"
   Função RND RAND()
   Função RANDOMIZE()
   Função SEN ()
   Função SIGN() Snl
   Função SQR() Sqr
   Função RAIZQ() Rqd
   T() Sem equivalente (não é necessário)
   Função TAN() Tan
   HOJE() () Função DATA
   Função TRUNCAR () CORRIGIR
   Função TIPO() TIPONOM
   Função MAIÚSCULAS/minúsculas ()
   VALOR() () Função VAL
 NOTA: A função de folha de cálculo do Microsoft Excel e o operador ou função equivalente do Visual Basic nem sempre são calculadas da mesma forma e podem dar resultados diferentes, mesmo quando têm o mesmo nome.

É preferível utilizar o operador ou função equivalente do Visual Basic para maior velocidade e flexibilidade nos cálculos. Além disso, o operador ou função do Visual Basic está disponível para todas as aplicações que utilizam o Microsoft Visual Basic for Applications.

Embora seja recomendado que utilize os operadores ou funções do Visual Basic apresentados na lista acima, existem métodos alternativos para utilizar as funções de folha de cálculo numa macro do Visual Basic, se necessário. Como exemplo, pode utilizar a folha de cálculo ATAN na macro do Visual Basic utilizando as funções ExecuteExcel4Macro ou Avalie:

   x = Application.ExecuteExcel4Macro("Atan(12)")
     -ou-

   x = Application.Evaluate("Atan(12)")