No código VBA, se você tiver que se referir a certas funções de planilha como Sum, Vlookup, etc, você pode usá-las diretamente usando o objeto Application. Portanto, usaremos as funções como -
Application.WorksheetFunction.Sum ou Application.WorksheetFunction.Vlookup Onde WorksheetFunction é o método do objeto Aplicativo.
Considerando que temos essa macro de teste, se digitarmos
Application.WorksheetFunction.
Iremos obter um pop-up mostrando as fórmulas, consulte a imagem abaixo
Então, por exemplo, se você deseja somar os valores deste intervalo na coluna A usando vba -
Vamos ter uma variável chamada SalesTotal que salvará a soma nela. Para obter o total em SalesTotal, usaremos o seguinte código VBA no módulo padrão:
Sub macro4 ()Dim SalesTotal enquanto
SalesTotal = Application.WorksheetFunction.Sum (Range ("A2: A6"))
MsgBox SalesTotal
End Sub
Para copiar o código acima para o seu arquivo,
- Pressione Alt + F11 no teclado.
- No lado esquerdo, você verá Objetos do Microsoft Excel.
- Clique com o botão direito e selecione Inserir.
- Em seguida, clique em Módulo.
- Copie o código para a janela de código à direita.
Quando usarmos essa macro de amostra, obteremos uma mensagem mostrando o valor que está armazenado no Total de Vendas e pode ser usado em outras linhas de código na macro.
A saída que obteremos é -
Se quiser que o SalesTotal seja mostrado na célula A7, você pode alterar a linha de código de
Msgbox SalesTotalpara Planilhas (“Planilha1”). Intervalo (“A7”). Valor = SalesTotal
Considerando, também precisamos da média de vendas para esses números na célula A9. Podemos usar o código abaixo
Sub macro5 ()Dim SalesTotal enquanto
Com planilhas ("Planilha1")
SalesTotal = Application.WorksheetFunction.Sum (.Range ("A2: A6"))
.Range ("A7"). Value = SalesTotal
.Range ("A9"). Value = Application.WorksheetFunction.Aadise (.Range ("A2: A6"))
Terminar com
End Sub
Existem pequenas alterações neste código em comparação com o anterior.
- Em vez de usar uma variável para a média, populei diretamente esse valor após o cálculo na célula A9. Portanto, você verá a linha .Range (“A9”). Value = Application.WorksheetFunction.Aadise (.Range (“A2: A6”))
- A linha msgbox foi removida.
- O valor na variável SalesTotal vai para a célula A7.
- Idealmente, você pode repetir a mesma linha de código que foi usada para a média, para a linha de código Soma, substituindo
SalesTotal = Application.WorksheetFunction.Sum (.Range (“A2: A6”))
.Range (“A7”). Value = SalesTotal
Com
.Range (“A7”). Value = Application.WorksheetFunction.Sum (.Range (“A2: A6”))
No entanto, ele foi mantido para que você possa entender as diferentes maneiras de codificar a mesma tarefa. Da mesma forma, podemos usar outras funções enquanto usamos Application.WorksheetFunction. Todas essas funções que podemos usar diretamente na planilha, podemos usá-las aqui.
Isso torna mais fácil usar as funções no código para que possamos calcular as fórmulas necessárias sem ter que criar um código para a fórmula.
Se você gostou de nossos blogs, compartilhe com seus amigos no Facebook. E você também pode nos seguir no Twitter e no Facebook.
Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar, complementar ou inovar nosso trabalho e torná-lo melhor para você. Escreva-nos em site de email