VBA™ para Excel™ 14: vetores e matrizes

(ver o anterior)

Finalmente chegamos ao nosso último post da série sobre VBA para Excel. Hoje falaremos sobre variáveis com mais de uma dimensão: vetores (composto linear de dados do mesmo tipo) e matrizes (composto bidimensional de dados do mesmo tipo). Um vetor é um conjunto de dados em sequência. O tamanho do vetor é o número de dados armazenados, e é definido da seguinte forma: Continue lendo “VBA™ para Excel™ 14: vetores e matrizes”

VBA™ para Excel™ 13: trabalhando com várias planilhas

(ver o anterior)

As referências a outras planilhas pelo VBA são feitas diretamente pelo nome de cada planilha. O arquivo de Excel normalmente já vem com três planilhas: Plan1, Plan2 e Plan3 (veja as abas abaixo da planilha).

Conforme vimos antes, as referências de células são feitas em ordem invertida em relação ao Excel. Por exemplo, a célula C4 no excel é descrita na forma Coluna (C), depois a Linha (4). No VBA, a mesma célula é descrita apenas numericamente (Coluna é descrita como 3, ao invés de C), e na ordem Linha, depois Coluna. Portanto, no VBA, a célula C4 é descrita como:

Cells(4,3)

Quando a referência for feita em relação a uma célula que está em outra planilha, segue o seguinte formato: Continue lendo “VBA™ para Excel™ 13: trabalhando com várias planilhas”

VBA™ para Excel™ 12: exemplos de funções, manipulação de strings

(ver o anterior)

Atendendo a pedidos, deixo aqui mais alguns exemplos de funções para Excel. Veja o post anterior sobre como escrever novas funções para o Excel.

O primeiro exemplo converte temperatura em graus Celsius (tempC) para graus Fahrenheit (tempF): Continue lendo “VBA™ para Excel™ 12: exemplos de funções, manipulação de strings”

VBA™ para Excel™ 11: como escrever novas funções para o Excel

(Ver o anterior)

Talvez você já tenha procurado por uma função do Excel e descoberto que ela não existe. Com o VBA é possível adicionar funções novas, específicas para nossas necessidades. Escrever uma função é parecido com escrever uma Sub (macro), e exige três partes: um cabeçalho com o nome da função e parâmetros; o corpo com as instruções; e o término.

O esquema básico é o seguinte:

Function <Nome da Função>(Parâmetro1 as <tipo>, Parâmetro2 as <tipo>) as <tipo>

<Corpo>

<Nome da Função> = <valor do retorno>

End Function Continue lendo “VBA™ para Excel™ 11: como escrever novas funções para o Excel”

VBA™ para Excel™ 10: busca linear cumulativa

(ver o anterior)

Continuaremos agora com o problema das buscas. Desta vez veremos como acumular valores em uma busca para verificar se uma quantidade mínima foi atingida. Utilizarei o mesmo exemplo dos dois tutoriais anteriores para facilitar a visualização.

Captura de tela 2013-11-17 às 11.53.10

Desta vez queremos conferir se a quantidade de projetos necessária foi prevista. Sabemos, no exemplo, que serão necessários 10 projetos (informado na célula G5). Veja a solução por acumulação: Continue lendo “VBA™ para Excel™ 10: busca linear cumulativa”

VBA™ para Excel™ 9: Busca, passagem, booleana – uma solução mais inteligente

(ver o anterior)

Continuaremos agora com a forma mais inteligente de resolver o problema da busca, conforme prometido. Para isso, utilizaremos as tais variáveis booleanas. Não se assuste com o nome, trata-se de uma variável simples que aceita apenas dois valores: verdadeiro (true) ou falso (false).

Vamos utilizar o problema anterior, alterando apenas o indicador para uma variável que chamaremos “Achou”. Enquanto a busca não encontrar nada ela será falsa (não achou). A partir do momento que encontrar, será verdadeira. Continue lendo “VBA™ para Excel™ 9: Busca, passagem, booleana – uma solução mais inteligente”

VBA™ para Excel™ 8: Busca e indicadores de passagem, variável booleana

(Ver o anterior)

Veremos a partir deste momento ferramentas muito úteis que já utilizei muito (e que me pouparam muito tempo). Talvez você não tenha visualizado a utilidade do VBA até aqui porque tudo o que fizemos até então poderia ser feito com funções simples do Excel. Prometo que isso vai mudar.

Calcula-se que mais de 80% do tempo de processamento de qualquer computador é utilizado apenas para buscas e ordenações. Busca é a atividade de localizar algo em uma lista, e ordenação, colocar este algo numa ordem desejada. Portanto, a construção racional dessas duas instruções otimizam a utilização do processador.

Apresentaremos primeiro uma forma mais intuitiva e menos inteligente para esta Sub, e depois como fazê-la racionalmente. Assim você perceberá melhor as sutilezas de como otimizar a programação em VBA.

Captura de tela 2013-11-16 às 22.31.34

Continue lendo “VBA™ para Excel™ 8: Busca e indicadores de passagem, variável booleana”