segunda-feira, 1 de junho de 2009

Método Evaluate

O método Evaluate dos objetos Workbook, Worksheet e Chart é uma funcionalidade que pode reduzir drasticamente seu código e o tempo de resposta da sua aplicação.

A principal característica desse método é que ele retorna o resultado de uma fórmula assim como a digitamos diretamente na planilha. Por exemplo, imagine que você queira saber quantas vezes aparece a palavra "São Paulo" em uma determinada no intervalo A1:A200. Você provavelmente digitaria em uma célula uma fórmula como:

=CONT.SE(A1:A200;"São Paulo")

No entanto, se você precisa desse resultado no código, sem o Evaluate você pode escrever:

. Dim I As Integer
. Dim intQuant As Integer

. For I = 1 To 200
. . If Plan1.Cells(I, 1) = "São Paulo" Then
. . . intQuant = intQuant
. . End If
. Next I

Com o Evaluate, você apenas digitaria:

Dim intQuant As Integer

intQuant = Plan1.Evaluate("COUNTIF(A1:A200, ""São Paulo"")")

A fórmula é exatamente a mesma, mas tem que usar a sintaxe em inglês. Se não sabe como é o nome da função em inglês, digite a fórmula na planilha, selecione a célula com a fórmula e digite na janela imediata:

?ActiveCell.Formula

Nenhum comentário: