24.08.2020 Views

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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

230 Parte III: Conceitos de Programação

Depois de definir este objeto variável, você pode usar a variável Rate ao

invés da referência longa. Por exemplo, é possível mudar o valor da

célula chamada InterestRate:

Rate.Value = .085

Isto é muito mais fácil de digitar (e entender) que a seguinte declaração:

Workbooks(“MyBook.xlsx”).Worksheets(“Sheet1”). _

Range(“InterestRate”) = .085

Além de simplificar a sua codificação, usar objetos variáveis também

agiliza consideravelmente as suas macros. Depois de criar objetos

variáveis, tenho visto algumas macros rodar duas vezes mais depressa

que antes.

Declarando tipos de variáveis

Normalmente, você não precisa se preocupar com o tipo de dados que

designa a uma variável. O Excel lida com todos os detalhes por trás das

cenas para você. Por exemplo, se tiver uma variável chamada MyVar,

você pode designar um número de qualquer tipo àquela variável. Pode

até designar uma string de texto a ela, mais adiante no procedimento.

LEMBRE-SE

Mas, se você quiser que os seus procedimentos rodem o mais rápido

possível (e evitem alguns problemas potencialmente desagradáveis),

diga ao Excel qual tipo de dados serão designados a cada uma de suas

variáveis. Isso é conhecido como declarar um tipo da variável (para

detalhes completos, consulte o Capítulo 7). Acostume-se a declarar

todas as variáveis que você usa.

Em geral, você deveria usar o tipo de dados que requer o menor

número de bytes que, no entanto, lidam com todos os dados designados

a ele. Quando o VBA trabalha com dados, a velocidade de execução

depende do número de bytes que o VBA tem à sua disposição. Em

outras palavras, quanto menos bytes os dados usam, mais depressa o

VBA pode acessar e manipular os dados.

Se você usa um objeto variável (conforme descrito na seção anterior),

pode declarar a variável como um tipo de objeto especial. Eis um exemplo:

Dim Rate as Range

Set Rate = Workbooks(“MyBook.xlsx”) _

.Worksheets(“Sheet1”).Range(“InterestRate”)

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

Saved successfully!

Ooh no, something went wrong!