domingo, 26 de janeiro de 2014

Inserindo uma macro no Excel



Nos artigos anteriores fomos apresentados ao VBE e aos principais conceitos da linguagem de programação VBA, utilizada para programar as macros no Excel.

Sabendo como abrir o editor de Visual Basic, iremos inserir a nossa primeira macro no Excel (lembrando que no Visual Basic as macros são chamadas de Sub).

Para inserir uma macro, você deve abrir no editor de Visual Basic a planilha na qual a macro será inserida. Para isso, dê duplo-clique em uma planilha no Project Explorer. Ao fazer isso, será aberta uma janela no lado direito do editor, como mostra a figura abaixo.




Repare na barra de título dessa janela: ela mostra o nome da pasta de trabalho e o nome da planilha à qual a janela está relacionada. O "(Código)" indica que nesta janela você pode escrever código VBA.

Para inserir uma macro, vá no menu "Inserir/Procedimento...". Na janela que aparecer, faça o seguinte:


- Em "Nome:", digite primeiraMacro (este será o nome da sua macro)
- Em "Tipo", escolha "Sub" (ou seja, macro)
- Em "Escopo", escolha "Público" (veremos o significado disso nos próximos artigos)




Agora, ao clicar em OK, o seguinte código aparecerá na sua janela de código:

Public Sub primeiraMacro()

End Sub


A primeira linha do código indica o início da macro, enquanto a última linha indica o fim da macro, e tudo o que estiver entre essas duas linhas será o código da macro, que é o código que será executado quando mandarmos executa-la. E é isso que faremos nas próximas linhas.

Agora você irá aprender a utilizar um dos comandos mais utilizados pelos programadores de Macro, e não se preocupe porque ele é mais simples do que parece.

Existe uma função em VBA que exibe uma mensagem na tela. Essa função se chama MsgBox (do inglês Message Box - Caixa de Mensagem). Vamos utilizar essa função para construir nossa primeira macro. 

Digite o código abaixo;


Public Sub primeiraMacro()
MsgBox "Funcionou!"
End Sub

Para mandar executar esse código, é só clicar no botão com um símbolo de "Play" (um triângulo verde, virado para a direita). Ao fazer isso, veremos a mensagem "Funcionou!" exibida na tela.



Parabéns, você acabou de fazer a sua primeira macro!

Agora vamos entender cada linha do código:


Public Sub primeiraMacro() - Indica o início de uma Macro (Sub) chamada primeiraMacro
MsgBox "Funcionou!" - Manda exibir na tela uma caixa de mensagem com o texto que está entre aspas.
End Sub - Indica o fim da Macro


Não disse que seria simples!?

No próximo artigo explicarei a diferença entre Sub e Function.


Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

segunda-feira, 20 de janeiro de 2014

Como se tornar um expert no Excel

Seja um Expert em Excel
Olá a todos!

Para comemorarmos o 10º artigo do site, vou listar algumas dicas importantes para aqueles que desejam se tornar referências no uso do Excel.

Essas dicas são baseadas na minha experiência e também na de outros autores citados no final do artigo.

Mas gostaria de adiantar uma coisa: antes de ser um expert no Excel, seja também um expert na sua área de negócio. Você pode trabalhar em logística, finanças, contabilidade, produção, recursos humanos, ou qualquer outra área. Mas busque tornar-se o melhor na sua posição e tenha o Excel como uma ferramenta poderosa para demonstrar o seu talento, caso contrário todo seu conhecimento de planilhas se tornará vazio de significado. Conhecer bem o Excel faz com que consiga reduzir bastante o tempo gasto em atividades operacionais, e é nesse momento que você precisa mostrar suas habilidades analíticas e/ou gerenciais.

Afinal, uma vez gerados os resultados, interpretá-los corretamente é que será um diferencial.

Tendo isso em mente, vamos às nossas dicas:

Nunca diga que algo é impossível de fazer: Ao longo do tempo aprendi a dizer: ”Eu não sei como fazer. Mas tentarei descobrir”. Um amigo me disse uma vez que só crescemos quando submetidos a um desafio maior do que a nossa capacidade atual. Com o Excel não é diferente. Sempre que surgir um problema diferente não desista dele. Encare-o como uma oportunidade de aprender um novo recurso. E ao longo de 8 anos usando o Excel, posso dizer que ele sempre nos surpreende com algo novo.

Nunca diga que algo é impossível de fazer



Aprenda com as experiências anteriores: Um problema pode parecer novo para você, mas a probabilidade de que alguém já tenha passado por esse aperto é muito grande. Pesquise na internet. Converse com outros usuários. Newton já dizia: “Só fui capaz de enxergar mais longe por que estava apoiado nos ombros de gigantes”.

Aprenda com as experiências anteriores


Participe de grupos: Seja através de fóruns, grupos de discussão, comunidades ou qualquer outra forma que permita a troca de experiências. Excelentes profissionais dedicam seu tempo à participação nesses grupos. Primeiro como uma forma de retribuir o que aprenderam, afinal ninguém nasce sabendo. E em segundo lugar, por que sempre terão oportunidade de se desenvolver ao auxiliar outros usuários. Há uma música que diz: “Quanto mais à gente ensina, mais aprende o que ensinou”.

Participe de grupos


Organize seus dados adequadamente: Muitas dificuldades em fórmulas, gráficos e tabelas dinâmicas são facilmente resolvidas quando os dados são dispostos de forma adequada. E não há cartilha que ensine a fazê-lo. Portanto pratique, tire suas conclusões e tenha flexibilidade de raciocínio para testar novas formas de disposição quando não obtiver os resultados desejados.

Organize seus dados adequadamente


Leia, entenda e implemente: Não tem jeito. Se quer aprender, você vai precisar ler. Podem ser artigos de um blog ou site, livros, apostilas e o próprio help do Excel. Não espere que alguém sente do seu lado e te ensine o passo a passo para a solução do seu problema. Vença a preguiça!!! Uma vez entendido o que leu, pratique. Não adianta ler a apostila e guardar na gaveta. Leia ao lado do computador, buscando realizar o que é proposto. Depois tente repetir várias vezes, até ter certeza que sabe fazer de verdade. A prática leva à perfeição.

Leia, entenda e implemente


Busque mais de uma solução para o problema: Se diferentes pessoas forem apresentadas a um problema, provavelmente chegarão a uma solução utilizando abordagens diferentes. Quanto mais formas você souber, mais rapidamente chegará a um resultado. Desconfie do “só dá para fazer assim”. Pode até ser verdade, mas não custa tentar descobrir se não há outro caminho.

Busque mais de uma solução para o problema


Use elementos visuais para expressar suas ideias: Sua planilha pode ser a mais rápida, ou seus cálculos podem ser os mais precisos, mas tenha certeza que a primeira coisa que se olha é o aspecto visual. Organize os dados, utilize formatações adequadas para os seus números, lance mão de uma fonte legível, expresse seus resultados em gráficos autoexplicativos, use cores de forma harmoniosa (veja mais neste artigo). Chame atenção com um visual bem elaborado e então mostre que a beleza reflete a qualidade do trabalho realizado.

Use elementos visuais para expressar suas ideias


Aprenda a fazer macros: O Excel tem muitos recursos, mas eles não são infinitos. Chega um momento em que você precisa dar um passo além. Pode ser para ganhar velocidade, modificar a interface ou realizar o que pareceria impossível de outra forma. Portanto perca o medo e arrisque a criar seus programas. Não pense que serão perfeitos. Contente-se no primeiro momento que eles sejam funcionais (veja mais sobre macros neste e neste artigo).

Aprenda a fazer macros


Seja voluntário e melhore algo no seu trabalho: Se você observar algo que precise de melhoria, mesmo que não seja em sua área de atuação (por exemplo, um profissional de marketing vê algo que pode ser otimizado no setor administrativo), se voluntarie para melhorar aquilo.

Essa é uma das práticas mais recompensadoras, pois além de melhorar o processo de um setor que otimizará várias tarefas em cadeia, você se torna conhecido pela pro atividade, habilidades no Excel e, consequentemente, garante boas recomendações.

Depois que alcançou a eficiência, busque a eficácia.


Bem, é isso!

Essa lista não tem a intenção de ser definitiva, vocês podem discordar parcial ou inteiramente de alguns pontos. 

Apenas desejo que tirem alguma coisa de útil e que pensem no que faz sentido dentro de suas realidades.
Abraços!


Referências:





Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

domingo, 19 de janeiro de 2014

Criando as primeiras Macros

Adianto que este artigo ficou um pouco longo, porém, tentarei explicar de forma bastante simples o conceito da linguagem VBA e macros. Após entender este texto, você será capaz de manipular uma planilha de Excel.

Já comentamos sobre as noções preliminares sobre macros. 99,9% das pessoas se iniciam no tema por meio do gravador de macros, então vamos usá-lo como ponto de partida.

Nas versões anteriores à 2007 o caminho para iniciar a gravação de uma macro é Ferramentas >> Macros >> Gravar Nova Macro. As novas versões o gravador está acessível no canto inferior esquerdo da janela do Excel. 

Para iniciar a gravação basta clicar neste botão.

Vamos começar com uma macro bem simples, seguindo os passos:

Clique na célula A1;
Acione o gravador;
Nomeie a macro como “Primeira_Macro” e clique em OK.
Modifique a cor do preenchimento da célula para preto;
Modifique a cor da fonte para branco;
Clique novamente no botão de macro para interromper a gravação.

Pressionando ALT+F11, clique no Módulo1 e você poderá visualizar a macro criada, que deve se parecer com esta aqui:

Sub Primeira_Macro()
'
' Primeira_Macro Macro
'
'
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
End Sub

Comentários:
As linhas que se iniciam com um apóstrofo são linhas de comentários. Os desenvolvedores as utilizam para inserir explicações sobre o funcionamento do código, ou outras informações que julguem pertinentes (nome do desenvolvedor, data de criação, referências utilizadas, etc).

O gravador armazena informações sobre as alterações realizadas durante a gravação, mas também acrescenta informações desnecessárias. À medida que aumentar seus conhecimentos em VBA, a tendência é que minimize o uso do gravador e quando o fizer, saberá identificar quais informações deverão ser mantidas no código. No exemplo criado acima, o que queremos é modificar a cor do preenchimento e da fonte, desta forma, o código pode ser resumido para:

Sub Primeira_Macro()
    'Modificar a cor de fundo da seleção para preto
    Selection.Interior.Color = xlThemeColorLight1
   'Modificar a cor da fonte para branco
    Selection.Font.ThemeColor = xlThemeColorDark1
End Sub

Esta macro, assim como outras criadas, pode ser acessada pressionando o atalho de teclado ALT+F8. Basta selecionar uma célula ou intervalo de células, pressionar ALT+F8 e selecionar a Primeira_Macro que a seleção será devidamente formada.

Linguagem orientada por objetos

O VBA faz parte de uma categoria de linguagens de programação denominadas de “orientada por objetos”. Todos os elementos de um arquivo de Excel, o próprio Excel e demais arquivos do Office são objetos. Os objetos possuem propriedades que podem ser modificadas e métodos que podem ser acionados.

Vamos fazer uma analogia:

Se um carro fosse encarado como um objeto, a cor de sua pintura, o material dos seus bancos e a pressão dos seus pneus seriam propriedades. Se fôssemos tratá-lo como um objeto programável, poderíamos alterar suas propriedades através de comandos como:

Carro.CorDaPintura = Prata
Carro.MaterialDosBancos = Couro
Carro.PressaoDosPneus = 35

Da mesma forma, ligar o carro á análogo a um método, o que poderia ser “programado” como:

Carro.Ligar

Quando programamos códigos no Excel, alteramos propriedades de seus objetos e ativamos métodos.
Tomando a linha de comando criada acima:

Selection.Interior.Color = xlThemeColorLight1

O que fizemos foi modificar a propriedade cor, do interior no objeto Selection.

O Excel como Objeto

O que é necessário para criamos uma Planilha de Excel? Acredito que seja necessário, na ordem:

Abrir o Excel;
O Excel automaticamente cria uma Pasta de Trabalho em branco;
Uma Pasta de Trabalho contém, por padrão, três Planilhas;
Escolher uma Planilha e povoar as células;
Salvar e sair do Excel, se desejar.

Os passos são simples, mas são sequenciais. Obviamente, não é possível ter Células sem ter Planilha, e nem ter Planilha sem ter Pasta de Trabalho. Para entendermos melhor como se cria um código numa Planilha, vamos entender como funciona o modelo do Objeto Excel.

O VBA define nomes para cada um dos níveis de objetos utilizados pelo Excel, para entendermos melhor a terminologia, observe a imagem abaixo:

MACRO OBJETO RANGE SHEETS WORKBOOK APPLICATION

Atenção: Uma Folha pode ser uma Planilha ou um Gráfico, por exemplo. Existem também outros tipos de folhas.

É importante ressaltar que o nome de cada objeto está em inglês. No VBA, você terá que referenciar os objetos utilizando também seu nome em inglês.

Uma Aplicação Excel (Application) pode ter zero ou mais Pastas de Trabalho, que por sua vez, podem ter uma ou mais Folhas, que por sua vez, possuem as células (Range):


MACRO OBJETO RANGE SHEETS WORKBOOK APPLICATION



Note que um range pode ser uma combinação de outros ranges.

Em termos técnicos,
-Uma Aplicação é uma coleção de Pastas de Trabalho (Workbooks).
-Um Workbook é uma coleção de Folhas (Sheets).
-Numa coleção de folhas, podemos ter alguns tipos de objeto, como Planilhas (Worksheet) e Gráficos (Chart).  Cada um desses objetos tem suas propriedades comuns entre si e específicas.
A ideia geral para povoarmos o último nível de uma Planilha, por exemplo, é criar em código primeiramente um Application, depois um Workbook, depois um Worksheet e depois povoar os Ranges.

Finalizando

Além destas ações, o VBA possui recursos que permitem tomadas de decisão, controlando o fluxo de execução dos códigos. O mais comumente usado são as estruturas de controle (Se uma condição for verdadeira, execute uma ação, se for falsa execute outra) e os loops (repetir uma ação até que seja satisfeita uma dada condição).

A partir destas considerações iniciais iremos, em breve, começar a desenvolver pequenos projetos utilizando o VBA.

Até a próxima.



Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

Introdução às Macros no Excel


Conhecer macros é um divisor de águas para os usuários do Excel. A partir deste ponto, começam a se revelar o lado esotérico (no sentido Pitagórico, não no místico).

Mas o que são macros?

Desde os primórdios das planilhas eletrônicas, os desenvolvedores destes programas, disponibilizaram ferramentas que permitiam aos usuários automatizar tarefas repetitivas, determinar fluxos de execução (loops e condicionais), por meio das chamadas Folhas de Macro, que eram “planilhas especiais” dentro dos arquivos eletrônicos. Porém sua construção, edição e execução eram tarefas árduas.

A partir da sua versão 97, o Excel (e os demais integrantes do pacote Microsoft Office) passou a contar com uma linguagem de programação chamada Visual Basic for Applications, mas conhecida como VBA. Com esta linguagem “estruturada” ficou muito mais acessível o desenvolvimento das Macros.

No VBA as macros são chamadas de Códigos ou Scripts, os quais podem ser divididos primariamente em Procedimentos e User Defined Function (UDF). Futuramente, vamos explorar estas diferenças. Por hora, basta saber que existem estas duas categorias.

Para criarmos nossos códigos, podemos utilizar o Gravador de Macros, que uma vez acionado armazena todas as ações executadas num arquivo, tais como: inserir valores ou fórmulas numa célula, alterar formatação de fontes, ordenação de intervalos, etc.
Além de gravador de macros podemos criar códigos diretamente, utilizando o Visual Basic Editor (VBE). O VBE pode ser acessado através do atalho de teclado ALT+F11.

Vemos sua aparência abaixo, destacando seus principais elementos.

Macro Excel VBA VBE


1. Menu: contém as opções disponíveis para desenvolvimento dos seus códigos.
2. Barras de ferramentas: com botões para acesso às principais funcionalidades.
3. Object Explorer: permite a visualização e acesso aos objetos que constituem o VBA Project. Cada arquivo do Excel tem seu próprio VBA Project associado e que contém suas planilhas, formulários e módulos.

- Planilhas: são as mesmas que você utiliza na interface do Excel;

- Formulários: são caixas de diálogo criadas e personalizadas pelo usuário, utilizadas principalmente para inserção de dados;

- Módulos: são folhas, similares a um arquivo de notas, nas quais são armazenados os códigos, tenham sido feitos através do Gravador de Macros ou diretamente pelo usuário.


Agora que fomos apresentados aos conceitos fundamentais relacionados ao VBA, iremos, nos próximos posts, construir nossas primeiras macros.



Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

Criar Intervalo Dinâmico com Nome Definido


Neste exemplo mostro uma forma mais simples de se fazer o Intervalo Dinâmico dentro do Excel.





Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

A história do Excel - Mais linhas, mais dados, mais interação...

MAIS LINHAS, MAIS DADOS, MAIS INTERAÇÃO...


Durante a década de 90 e primeira metade da década de 2000, novas versões do Excel foram apresentadas.

Vimos muitas coisas melhorarem: se tornou muito fácil criar tabelas dinâmicas, a auditoria de fórmulas permitiu rastrear erros que consumiriam um tempo precioso para serem analisados e o VBE (Visual Basic Editor) tornou amigável o processo de criação e edição de macros, só para citar alguns exemplos.

Mas não víamos nada de revolucionário acontecer. A versão 2000, por exemplo, não chegou a ser adotada por muitas empresas que não viram vantagem em fazer o upgrade.

No entanto o cenário de aplicativos mudou. Surgiram concorrentes de respeito e que podiam ser instalados legalmente a custo zero.

Pela primeira vez o Excel via surgir uma ameaça por meio dos softwares de código aberto (open source). E na sequência a computação em nuvem acenou com a possibilidade de extinguirmos as planilhas dos nossos HDs, acessando e compartilhando-as diretamente via web.

Um alerta amarelo acendeu e surgiu a necessidade de dar uma sacudida na equipe do Excel.

O primeiro resultado foi o lançamento da versão 2007 com uma nova interface: a faixa de opções (Ribbon) que veio para substituir os menus e as barras de ferramentas. Junto com isso o aumento do número de linhas e colunas permitiu que o Excel lidasse com a crescente demanda por análise de informações de bases de dados cada vez maiores.

Apesar do choque inicial que nos obrigou a reaprender a fazer o que já sabíamos nas versões anteriores, a nova interface se provou bastante eficiente.

Um fato curioso é que no Excel 2010 a sequência 13 foi ignorada passando direto para a 14, devido à aversão ao número 13.

Atualmente o Excel está na versão 2013 com um estilo visual que acompanha o do sistema operacional Windows 8. E a aposta da vez da Microsoft é na conexão com a web, permitindo integração total com seu aplicativo de armazenamento de dados em nuvem, o SkyDrive.

ATUALIZAÇÃO: Em 27 de janeiro de 2014, a Microsoft anunciou a mudança do serviço SkyDrive para Microsoft OneDrive.

Como vimos nestes lançamentos tivemos incrementos significativos e que nos fazem pensar: o que podemos esperar das próximas versões do Excel?

Mantido o ritmo de lançamentos das últimas versões, devemos ter algo novo em 2015 ou 2016.

O que o futuro nos reserva?


LINHA DO TEMPO

















Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...