Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use a maioria das funções de planilha do Microsoft Excel em suas instruções do Visual Basic. Para obter uma lista das funções de planilha que você pode usar, confira Lista de funções de planilha do Visual Basic.
Observação
Algumas funções de planilha não são úteis no Visual Basic. Por exemplo, a função Concatenate não é necessária, porque no Visual Basic você pode usar o operador & para unir vários valores de texto.
Chamar uma função de planilha no Visual Basic
No Visual Basic, as funções de planilha do Excel estão disponíveis através do objeto WorksheetFunction.
O procedimento Sub a seguir usa a função de planilha Min para determinar o menor valor em um intervalo de células. Primeiro, a variável myRange
é declarada como um objeto Range e, em seguida, é definida para o intervalo A1:C10 na Planilha1. À variável answer
é atribuído o resultado da aplicação da função Min ao myRange
. Por fim, o valor de answer
é exibido em uma caixa de mensagem.
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
Se usar uma função de planilha que exija uma referência de intervalo como argumento, você deve especificar um objeto Range. Por exemplo, você pode usar a função de planilha Match para pesquisar em um intervalo de células. Em uma célula de planilha, você deverá inserir uma fórmula como =MATCH(9,A1:A10,0). No entanto, em um procedimento do Visual Basic, você especificaria um objeto Range para obter o mesmo resultado.
Sub FindFirst()
myVar = Application.WorksheetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
Observação
As funções do Visual Basic não usam o qualificador WorksheetFunction. Uma função pode ter o mesmo nome que uma função do Microsoft Excel e mesmo assim funcionar de modo diferente. Por exemplo, Application.WorksheetFunction.Log
e Log
retornarão valores diferentes.
Inserir uma função de planilha em uma célula
Para inserir uma função de planilha em uma célula, você deve especificar a função como o valor da propriedade Formula do objeto Range correspondente. No exemplo a seguir, a função de planilha RAND (que gera um número aleatório) é atribuída à propriedade Formula do intervalo A1:B3 na Planilha1 na pasta de trabalho ativa.
Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"
End Sub
Exemplo
Este exemplo usa a função de planilha Pmt para calcular um pagamento de hipoteca. Observe que este exemplo usa o método InputBox em vez da função InputBox para que o método possa executar verificação de tipo. As declarações Static fazem com que o Visual Basic retenha os valores dessas três variáveis, que serão exibidos como valores padrão na próxima vez que você executar o programa.
Static loanAmt
Static loanInt
Static loanTerm
loanAmt = Application.InputBox _
(Prompt:="Loan amount (100,000 for example)", _
Default:=loanAmt, Type:=1)
loanInt = Application.InputBox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = Application.InputBox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = Application.WorksheetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
MsgBox "Monthly payment is " & Format(payment, "Currency")
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.