Excel planilha wkf worksheetfunction funções de planilhas retornam valores vba

Qua, 12 de Janeiro de 2011 14:44 Expedito Marcondes
Imprimir

Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA

As WorksheetFunctions  ou  Funções de Planilha VBA, são muito simples porém um pouco desconhecida dos aprendizes de VBA
As WorksheetFunctions ou Funções de Planilhas de VBA,  retornam um determinado valor sem a necessidade de usarmos determinadas fórmulas.
é muito eficaz trabalhar com as WorksheetFunctions (VBA) para retornar valores para determinado objeto ou células em qualquer folha de planilha.  interessante, não é?

  340 Planilhas exemplos de WorksheetFunctions (VBA)
  Alguns exemplos das 340 Planilhas Exemplos WorkhseetFunctions(Abaixo na tabela, amostra coleatadas aleatóriamente na Coleção 340 WorksheetFunctions)
   Relação dos Exemplos de Planilhas Worsheetfunctions - Excel planilhas WorksheetFunctions Funções de Planilhas


Comprar as 340 Planilhas exemplo Microsoft Excel Funções de Planilha vba

               ARQUIVOS   (Gratuito)             TAM.

CATEGORIA

  331 PLANIHAS
  1   wkf_bdmultipl_multiplica_valores_coluna_bdados  22,0 Kb  Banco de dados Comprar
2 wkf_procv_exemplo_usando_userform.zip  21,6 Kb  Pesquisa e Referencia  
3 wkf_escolher_usando_indice_como_argumento.zip  28,0 Kb  Pesquisa e Referencia  
4 wkf_substituir_insere_novo_texto_lugar_antigo.zip  28,0 Kb  Texto  
5 wkf_rept_repete_texto_num_vezes  28,5 Kb  Texto  
6 wkf_exttexto_ret_num_caracter_texto  25,3 Kb  Texto  
7 wkf_romano_conv_algarismo_arabe_romano  36,5 Kb  Matemática e Trigonometria  
8 wkf_raiz_retorna_raiz_quadrada_positiva  26,8 Kb  Matemática e Trigonometria  
9 wkf_soma_e_multiplicacao_dados  29,7 Kb  Matemática e Trigonometria  
 10 wkf_somarproduto_multiplicacao_itens  31,8 Kb  Matemática e Trigonometria  
 11 wkf_falso_fazendo_procedimento_falso.zip  21,2 kb  Lógica  
 12 wkf_enum_verifica_se_numero_v_f  25,3 kb  Lógica  
 13 wkf_elogico_verifica_tipo_valor_ret_v_f  25,2 Kb  Lógica  
 14 wkf_projlog_calcula_curva_exponencial_adequada  28,4 Kb  Finanças  
 15 wkf_invf_ret_inverso_distrib_probabilidades  24,2 Kb  Finanças  
 16 wkf_ordem_ret_posicao_de_um_numero  29,7 kb  Estatística  
 17 wkf_varp_calcula_variancia_populacao_interna   29,4 Kb  Estatística  
 18 wkf_imcos_retorna_cosseno_de_num_complexo   23,5 Kb  Engenharia  
 19 wkf_hora_retorna_hora_de_valor_de_tempo   26,9 Kb  Datas e Horas  
 20 wkf_diatrabalho_ret_proximo_dia_util  124  Kb  Datas e Horas  
 21 wkf_datadif_ret_tratamento_dependo_idade  15,7 Kb  Datas e Horas  
 22 wkf_betaacuminv_ret_inverso_funcao_distribuicao  20,6 Kb  Científica  
 23 wkf_repet_tres exemplos_macros_repetir_frase   25,3 Kb  Texto  

Elaboramos 340 Exemplo de Planilhas de todas as Funções do Aplicativo retornando WorksheetFunctions (VBA) (todas "possíveis")
As planilhas retornam as WorksheetFunctions VBA, e também a função em fórmula e o help (ajuda) para cada função acionado automaticamente pelas macros.

Chamando funções de planilha de VBA
Nesta página vou descrever como fazemos para chamar chamar Funções de Planilha a partir do código VBA.

Introdução

Porque o VBA é usado por muitas aplicações além do Aplicativo Excel, as Funções de Planilha do Excel em si, não são parte da linguagem VBA. No entanto, você pode chamar funções de planilha diretamente através do aplicativo com fórmulas ou objeto através do Application.WorksheetFunctions classe. A diferença entre usar ou omitindo a WorksheetFunctions referência é a forma como os erros são tratados. vamos ver isso mais abaixo.

 

Chamar funções de planilha em VBA

Quase todas as funções de planilha podem ser chamadas do VBA(Visual Basic Application) utilizando o Aplicativo  ou  Application.Worksheet objetos. funções do Excel que tem VBA equivalentes nativas, como mês , não estão disponíveis. A sintaxe de uma Função de Planilha é a mesma da planilha usando a própria função. Por exemplo, uma função de planilha em uma célula pode ser:
usaremos um exemplo da função Procv (Procura na Vertical)

=PROCV (123; A1: C100; 3; FALSO)

Para usar o código em VBA, usando a WorksheetFunction (VBA)  que faz a mesma coisa, você usaria:

Dim Ressposta As Variant
Resposta = Application.WorksheetFunction.VLookup(158,Range("A1:C100"),3,FALSE)

O número de parâmetros e seus significados são os mesmos ao chamar a função do VBA como elas são ao chamar a função a partir de uma célula da planilha. Como o código está escrito acima, você receberá um erro de execução se o valor de 158 não for encontrado no intervalo.
Portanto, você precisa colocar em seu projeto agumas armadilhas código de erro, caso ocorra:

Dim Resposta As Variant
On Error Resume Next
Err.Clear
Resposta = Application.WorksheetFunction.VLookup(158,Range("A1:C100"),3,FALSE)
If Err.Number = 0 Then
    ''''''''''''''''''''''''''''''''
    'se foi encontrado continue normal o código de execução
    ''''''''''''''''''''''''''''''''
Else
    ''''''''''''''''''''''''''''''''
    ' valor não foi encontrado, aqui voce insere seu código para tratar o erro, sair, msgbox para digita novamente.
    ''''''''''''''''''''''''''''''''
End If 

 

 

Tratamento de erro com funções de planilha

Isso nos leva ao tema da manipulação de erro ao chamar Funções de excel planilha em VBA. Como observado anteriormente, existem duas sintaxes básicas que você pode usar. Você pode usar um On Error declaração e, em seguida, testar o Err.Number valor para ver se ocorreu um erro, ou você pode declarar a variável resultado como uma variante do tipo e utilização IsError para ver se essa variável é uma variante do tipo de erro.

Qual o método que você usar depende se você usa o WorksheetFunction propriedade em seu código. Se você incluir o WorksheetFunction propriedade, os erros se manifestam como erro de execução, que precisa de um On Error declaração e um teste do Err.Number valor.

Se você não incluir o WorksheetFunction propriedade, você deve declarar a variável Resultado como Tipo Variant e testar essa variável com o IsError função. Exemplos de ambos são mostradas abaixo.

''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Erro em tempo de execução
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Resultado As Variant
On Error Resume Next
Err.Clear
Resultado = Application.WorksheetFunction.VLookup(158,Range("A1:C100"),2,False)
If Err.Number = 0 Then
    ''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' se o valor (Procv) for encontrado, continue normalmente a execução do código.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
    ''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Caso NÃO encontre o valor procurado na funçao PROCV, trate o seu código de erros aqui.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Uando IsError para detectar erros
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Resposta As Variant
Resposta = Application.VLookup(123,Range("A1:C100"),2,False)
If IsError(Res) = False Then
    ''''''''''''''''''''''''''''''''''''''''''''''''''''
   'Caso o valor procurado pela função Procv for encontradom, continue normalmente a excecução do código.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
    ''''''''''''''''''''''''''''''''''''''''''''''''''''
' Se o Valor NÃO FOR ENCONTRADO, pela função Procv, Trate seu erro aqui.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''
End If

Não há diferença significativa entre as duas sintaxes de chamada função de planilha. É principalmente uma questão de preferência pessoal se deve usar o WorksheetFunction Propriedade. Em geral, eu omiti-lo e usar IsError para detectar um erro.

 

Chamando Analysis Tool Pack Função Em VBA

Antes de Excel 2007, as funções disponibilizadas pela ferramenta de análise Pack (ATP) são fornecidos por um suplemento separado.
Você não pode chamá-los pelos métodos mostrados acima. Primeiro, você deve carregar o Analysis Tool Pack - VBA add-in. Note que este é diferente do Analysis Tool Pack item. Uma vez que este add-in está carregado, vá para o VBA, abra o seu projeto, e escolher referências da Ferramentas menu. Nesse diálogo, escolha ATPVBAEN.XLS na lista de referências. Depois de ter essa referência no lugar em seu código VBA, você pode chamar as funções do ATP como se fossem VBA funções nativas. Por exemplo,

Dim Resposta As Variant
Resposta = MRound(123.456, 0.5)
[A1].value = Resposta 


Se houver a possibilidade de que você vai ter um processo com o mesmo nome de uma função de ATP, pode prefixar o nome da função com o nome da biblioteca para garantir que você está chamando a função correta.
Vamos ver o exemplo abaixo chamando um xla.,

Dim Resposta As Variant
Resposta = [atpvbaen.xls].MRound(123.456, 0.5)
Plan2.[A7].value = Resposta

Note que os colchetes ( [ ] ) são necessários o nome da biblioteca, pois o nome contém um ponto. O nome do add-in é uma abreviatura de Analysis ool Pack VBA English
Se você estiver usando uma língua diferente do Inglês, os dois últimos caracteres do nome do add-in será a abreviação do nome do idioma.

Concluindo: As WorksheetFunctions ou Funções de Planilhas são muito usadas por Desenvolvedores Programadores para retornarem valores desejados, com muita eficácia.



Aprenda tudo sobre o Aplicativo Microsoft Excel VBA, sozinho, praticando com os produtos didáticos SaberExcel



Tags:
Última atualização em Sáb, 22 de Outubro de 2011 14:54