Como usar a função de planilha vba?

Notas principais

  • Você pode usar a propriedade WorksheetFunction para acessar funções de planilha para uso em uma macro.

Como usar uma função de planilha em VBA ao escrever uma macro

Use as etapas a seguir para usar uma função de planilha no VBA.

  • Primeiro, especifique a célula onde deseja inserir os valores retornados pela função.
    worksheet-function-in-vba
  • Depois disso, use um sinal de igual (=) e digite Application.WorksheetFunction (como já é possível fazer no aplicativo Excel, você só pode usar WorksheetFunction).
    use-an-equal-sign
  • Em seguida, você precisa inserir um ponto final (.) e, no momento em que fizer isso, você obterá uma lista de funções que possui na planilha.
    you-need-to-enter-a-dot
  • A partir daqui, vamos usar a função TextJoin para unir o texto nas células A1 e B1. Simples assim, você utiliza uma função na planilha; quando você insere parênteses iniciais, mostra os argumentos que você precisa especificar na célula.
    use-the-textjoin-function
  • Como você pode ver na imagem acima, ela mostra o argumento que você precisa especificar, mas não o nome dos argumentos. Então você precisa conhecer os argumentos antes de usá-los. Aqui estão os argumentos que você precisa usar no TextJoin.
    arguement-before-using-testjoin
  • Agora vamos inserir argumentos na função.
    enter-arguement-in-the-function
    1. delimitar: » «
    2. ignore_empty: Verdadeiro
    3. text1: Faixa (“A1”)
    4. text2: Faixa(“B1”)

Aqui está o código completo.

 Sub MyMacro() Range("A1") = _ Application.WorksheetFunction.TextJoin _ (" ", True, Range("A2"), Range("A3")) End Sub

Há um total de 387 funções de planilha que você pode usar no VBA. Mas existem algumas funções (Exemplo: ESQUERDA ) que não estão disponíveis.

Razão? Existem funções integradas no VBA que você pode usar ao escrever código VBA. Vamos ver se você deseja usar uma caixa de mensagem para obter o valor de uma função. Digamos que você queira obter o valor máximo do intervalo denominado “myValues”.

O código seria:

 Sub MyMacro() MsgBox Prompt:=WorksheetFunction.Max(Range("myValues")) End Sub

E é assim que você recebe uma caixa de mensagem:

intervalo nomeado-meus valores

Application.WorksheetFunction vs Aplicativo

Existem duas maneiras diferentes de se referir a uma função de planilha. Abaixo estão as duas linhas diferentes de código que executam a mesma atividade.

planilha de aplicativofunção-vs-aplicativo
 Sub MyMacro() MsgBox Prompt:= _ Application.WorksheetFunction.Max(Range("myValues")) MsgBox Prompt:= _ Application.Max(Range("myValues")) End Sub

Mas há uma vantagem em usar o segundo método. Ele retorna um código de erro em vez de exibir o erro diretamente.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *