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.
- Depois disso, use um sinal de igual (=) e digite Application.WorksheetFunction (como já é possível fazer no aplicativo Excel, você só pode usar WorksheetFunction).
- 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.
- 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.
- 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.
- Agora vamos inserir argumentos na função.
- delimitar: » «
- ignore_empty: Verdadeiro
- text1: Faixa (“A1”)
- 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:
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.
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.