24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

342 Parte V: Juntando Tudo

Eu uso a declaração Randomize para garantir que um número aleatório

diferente “pré-selecionado” seja escolhido cada vez que a pasta de

trabalho for aberta. Sem essa declaração, os mesmos números aleatórios

serão gerados sempre que a pasta de trabalho for aberta.

Você pode usar essa função para escolher números da loteria, selecionando

um vencedor a partir da lista de nomes, e assim por diante.

Uma função com um número

indefinido de argumentos

Algumas funções de planilha do Excel tomam um número indefinido de

argumentos. Um exemplo conhecido é a função SOMA, que tem a

seguinte sintaxe:

SOMA(núm1,núm2...)

O primeiro argumento é exigido, mas você pode ter até 254 argumentos

adicionais. Eis um exemplo de uma função SOMA com quatro faixas de

argumentos:

=SOMA(A1:A5;C1:C5;E1:E5;G1:G5)

Eis uma função VBA que pode ter qualquer quantidade de argumentos

de um único valor. Esta função não funciona com argumentos de faixa

de múltiplas células.

Function Concat(string1, ParamArray string2())

‘ Demonstra um número indefinido de declarações de

funções

Dim Args As Variant

‘ Processa as primeiras declarações

Concat = string1

‘ Process additional arguments (if any)

If UBound(string2) <> -1 Then

For Args = LBound(string2) To Ubound(string2)

Concat = Concat & “ “ & string2(Args)

Next Args

End If

End Function

Esta função é semelhante à função CONCATENAR do Excel, a qual combina

argumentos de texto em uma única string. A diferença é que essa função

personalizada insere um espaço entre cada par de strings concatenadas.

O segundo argumento, string2(), é um array precedido pela palavra-

-chave ParamArray. Se o segundo argumento estiver vazio, a função

UBound retorna -1 e a função encerra. Se o segundo argumento não

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!