Olá! Meu nome é Bertolo, sou professor de Administração Financeira, Análise de Investimentos, Matemática Financeira e um apaixonado pela Planilha Excel. Este website foi construído principalmente para ajudar os meus alunos, usuários do Excel, a estudarem as ferramentas avançadas e a programarem, isto é, escreverem macros eficientes no poderoso VBA que acompanha o produto, com a finalidade de construírem planilhas versáteis, eficientes e ricas de conteúdos. Entendo as suas frustrações ao terem que fazer planilhas profissionais que funcionem no Excel e não conseguem. Por isso tentamos compilar vários tutoriais do VBA do Excel e do próprio Excel, uma lista que se tornará gigante em termos de Templates e Suplementos para você fazer download e apreciar muita coisa fascinante no mundo do Excel.
Embora, a maioria dos usuários do Excel hoje está informada daquilo que se chama VBA, não há muitos deles tirando vantagem desta linguagem para programar os objetos do Excel. Aprender VBA, não significa de maneira alguma que você se tornará um programador ou precisará ser um deles. O VBA apenas ajudará você a economizar um pouco do tempo automatizando as tarefas repetitivas que você realiza no Excel.
Lembre-se, TUDO...Sim, tudo que você fizer manualmente no Excel pode ser programado, e você não precisa ser um programador para fazer isto.
O Excel tem características embutidas que ajudam você a gravar ações e gera automaticamente os códigos para você.
Tudo o que você precisa fazer é copiar e colar aquelas linhas aqui e acolá e obter um programa que você possa usar num clique de mouse.
Você pode conferir as lições passo a passo com numerosos exemplos e conceitos aqui as quais lhe ajudarão aprender de modo rápido e fácil o VBA.
Modo Fácil de Aprender Macros do Excel
Esta página explica o VBA do Excel de um ponto de vista novo (com Analogias). VBA do Excel resolve vários problemas complexos de Negócios e economiza uma porção de tempo automatizando tarefas repetitivas.
Básico do VBA
Conceitos e Analogias:
A razão de alguns destes conceitos ser muito importantes de entenderem é que geralemte você progride na escrita de Macros por si só se você tiver um entendimento generalizado/melhor do modo como as Macros são escritas. E também quando o Excel lança algumas exceções como “Script fora do Intervalo” ou “Objeto requisitado” etc. elas não parecem ser estranhas para você. E você pode comprovar que o VBA do Excel espera você fazer as correções para rodar o programa VBA do Excel.
Nosso Mundo versus Mundo do Excel
ção de pessoas como você e eu. Como dizemos que ninguém está sozinho no nosso Mundo existirão muitas pessoas no Excel (o novo Mundo) Agora as Pessoas do nosso Mundo são os Objetos no Mundo do Excel. Como existem muitas pessoas aqui existem vários objetos no Excel. Como nós todos temos os nossos nomes estes objetos também têm nomes únicos no Mundo do Excel. Os nomes das pessoas do Mundo do Excel são Application, Workbook, worksheet, range, PivotTable, Charts.
Agora as Pessoas no nosso Mundo são os Objetos no Mundo do Excel. Como existem muitas pessoas aqui, existem vários objetos no Excel. Como todos nós temos os nossos nomes estes objetos também tem nomes únicos no Mundo do Excel .
Os nomes das pessoas do Mundo do Excel são Application, Workbook, worksheet, range, PivotTable, Charts.
Como algumas vezes as pessoas possam ter dois ou mais nomes alguns Objetos Objetos do Excel também podem ser referidos por um ou mais nomes. i.e. se você quiser se referir à Primeira célula em qualquer planilha você pode ou se referir a ela por Range(“A1”) ou você pode se referir a ela por Cells(1,1) , agora ambas estas declarações se referem a um Objeto (Pessoa) no Mundo do Excel que é a célula A1 numa planilha.
A Melhor Maneira de se Aprender VBA do Excel
A melhor maneira de aprender o VBA do Excel é gravar tantas macros quanto possível (Gravar Macros) e ver que códigos o Excel gera. Vendo os códigos gerados várias vezes você criará um sentimento deles e lentamente você vai se tornando familiar com a maneira de como os códigos são escritos. De fato, esta é uma das melhores partes do VBA do Excel que você precisa saber e aprender quando fizer programas no Excel. Excel por si só gera os programas para você. Você apenas precisa modificar e manipular as declarações do programa para obter os resultados desejados.
Gravando e Rodando Macros
O Excel tem um gravador de Macro embutido que você pode usar para gravar suas ações enquanto trabalha no Excel. Para realizar a mesma ação várias vezes você pode rodar as macros. Vá à guia Desenvolvedor e no grupo Código para abrir o console VB. Tendo o console VB, grave a macro.
Você pode dar um nome à sua macro, atribuir uma tecla de atalho a ela e também dizer ao Excel onde armazenar a Macro (Pasta de Macro Pessoal ou na Pasta que você está trabalhando).
Para rodar a macro que você gravou simplesmente clique no botão executar, selecione a sua macro da lista e clique em executar. Clicando no botão Executar você poderá executar a Macro e fazer todas as ações que você fez enquanto estava gravando a macro. Pense num gravador de Macro como um gravador de voz . Você grava alguns sons e daí depois de gravados você pode ouvi-los a qualquer momento tocando-os O gravador permitirá você ouvir o mesmo som que você gravou, uma Macro também faz as mesmas ações que foram gravadas.
Onde você guardará os seus códigos?
O código que você escreveu ou gravou pode pode ser posto ou numa planilha ou num Módulo (Pense os Módulos como simples reservatórios de códigos, isto é o lugar onde você começa escrever os seus códigos). O Módulo é o lugar onde você mantém suas Macros (Procedimentos) gravados/criados. Uma Macro em Excel é um procedimento que é um conjunto de declarações que dizem a sua aplicação (Excel) o que precisa ser feito com seus objetos.
Quando você grava as Macros elas também ficam armazenadas nos Módulos, então quando voccê precisar executar uma Macro ela pode ser chamada. Você pode inserir qualquer número de Módulos numa pasta e você pode chamar as macros simplesmente escrevendo o nome do Módulo que ela está e um "ponto" e o nome da Macro. Por exemplo se você quiser Chamar uma Macro nomeada “ABC” que está no Módulo1,
você precisará escrever Módulo1.ABC.
Da mesma maneira que no módulo você pode também colocar seu código nas planilhas e também nas pastas. Para inserir um código numa planilha apenas dê um duplo clique na Worksheet, ou workbook para ver a janela dentro dela que você pode colocar o seu código. Falaremos mais sobre eventos nas seções posteriores que tratam de serem ativados toda vez que você quiser rodar um quando uma planilha for ativada ou uma pasta for salva etc.
Referindo-se a Objetos (Pessoas no Mundo Excel)
Como já sabemos que usando o VBA do Excel e Macros manipulamos os Objetos do Excel, precisamos também saber o modo apropriado de se referir aos Objetos do Excel. Diga-me,como você se referiria a uma pessoa no Mundo Real? Se você simplesmente usar o nome da pessoa poderá causar confusão quando existirem mais do que uma pessoa de mesmo nome. Para ser mais específico você provavelmente dirá que “Eu estou falando de “João” que mora no estado de “São Paulo” no país “Brasil”. Isto poderá ser bom, certo? As chances de alguém que queira se encontrar com “João” será maior do que no caso onde você tivesse dito “Eu estou falando de “João”.
Agora a Application Excel tanbém tem a sua própria Hierarquia de objetos. E a Hierarquia é Application >> Workbook/s >> Worksheet/s >> Range/s. Por algum tempo se considerará isto apenas como o modelo de Hierarquia de Objetos do Excel. Então deixe-me dizer se você quiser se referir à célula A1 numa planilha chamada “Plan1”. A melhor maneira de fazer isto seria se referir à plan1 como
Application.workbooks(“NomeDaPasta”).sheets(“NomeDaPlanilha”).Range(“A1”). Uma vez tendo se referido ao objeto apropriadamente você pode muito bem manipular suas propriedades ou talvez fazer alguma ação nele, i.e., limpar o conteúdo (ClearContents), mudar a cor de preenchimento (Background Color), etc.
Então, se você quiser mudar a cor de preenchimento de um Range, você precisará dizer:
Application.Workbooks(“NomeDaPast”).Sheets(“NomeDaPlanilha”).Range(“A1”).ClearContents
Agora, esta declaração quando escrita num Procedimento deleta o conteúdo no Range referido.
Referência Absoluta e Relativa
Existem duas maneiras de se referir a um objeto a referência absoluta e a relativa. Daremos a você um exemplo, se você quiser se referir à célula A1, você pode se referir a ela por Range(“A1”) ou pode também se referir a ela dizendo que esta célula é aquela célula acima da Cell A2 i.e. Range(“A2”).Offset(-1,0). O Offset desloca pelo argumento da linha e da coluna, por -1 como índice linha significando uma linha acima e 0 como índice coluna significando a mesma coluna.
Referencia relativa a uma célula é importante quando você está lidando com intervalos dinâmicos.
Tente colocar um pequeno pedaço de código abaixo e rode-o num Módulo. Isto lhe dará uma idéia de como o número índice funciona e como o Excel se parecerá em todas as células.
Sub teste ( )
For I = 1 to 512
Cells(i).value=i
Next i
End sub
Propriedades e Métodos dos Objetos
Como todos nós no Mundo real, Objetos do Excel também tem seus conjuntos únicos de propriedades e métodos. Uma pessoa pode ser Negra e outras podem ser Brancas, alguns têm olhos Castanhos e outros têm olhos Azuis. De modo semelhante cada um dos Objetos do Excel também tem um conjunto único de propriedades e métodos anexados a eles/elas.
ão as várias propriedades anexadas a um objeto, vá à janela do VBE (Pressionando ALT + F11) , na janela dê um duplo clique na Planilha (Qualquer planilha) e digite Range(“A1”). , então você notará um menu drop down mostrando uma lista de algumas Palavras em Inglês
Esta lista que aparece tem todas as Propriedades e Métodos associados com o Objeto Range. E para distinguir entre Propriedades e Métodos desta lista - Qualquer item que comece com uma pequena caixa verde é um Método e o resto são propriedades.
Agora vamos entender a diferença entre um método e uma propriedade. Uma propriedade é um atributo de um Objeto. Como João tem Cabelos Pretos no mundo real poderá ser que Range (“A1”) tenha Cor de Preenchimento Vermelha. Os cabelos Pretos e o Preenchimento Vermelho são as propriedades dos objetos (João no Mundo Real e Objeto Range no Mundo do Excel). Agora se alguém perguntar a você, qual é a cor do cabelo do João você responderá que o seu cabelo é preto ou se alguém lhe perguntar qual é a cor de Preenchimento do Range(“A1”) você responderá que é Vermelha. Então, no Excel você pode obter as propriedades de vários objetos e também você pode configurar/mudar as propriedades dos objetos. Embora, possa ser um pouco difícil mudar o nome realda pessoa no Mundo Real. Então, usando as declarações de códigos do VBA do Excel você pode modificar e obter as propriedades dos Objetos do Excel.
Usando os Métodos do Excel Methods você pode realizar ações sobre os Objetos do Excel. Como ativar um Range, Deletar o conteúdo, copiar, colar e muito mais são os métodos do objeto range.
Todos os objetos no Excel são modificados e manipulados usando propriedades e métodos.De fato é o que nós fazemos quando rodamos uma macro. Usando uma macro manipulamos Objetos do Excel usando suas propriedades e métodos.