Macro VBA para criar relatório ou gráfico de Excel em PDF e PPT

E aí pessoal! Tudo Excelente com vocês?

Eu já estava com saudades de escrever para meus queridos leitores. Mas, permita-me compartilhar com vocês algo que me alegra bastante: estou concluindo minha graduação em Ciências da Computação neste final de ano!!!

Isso é muito bom. Me faz lembrar de toda a minha trajetória para alcançar essa meta, onde houveram bons momentos e outros nem tanto, mas que valorizaram imensamente essa conquista.

É claro que com essa correria toda, tive que me ausentar um pouco aqui do blog, pois consome muito tempo, vocês nem imaginam!!! Mas, agora, minha cabeça já está cheia de idéias novas e aguardem novidades bem legais!!!

 

Enfim, vamos ao que interessa, não é mesmo?!!

 

Recentemente, recebi de um leitor, um pedido de ajuda e uma sugestão a respeito de uma macro para automatizar a criação de gráficos do Excel diretamente para o PowerPoint. A necessidade do projeto seria gerar um gráfico para cada situação em uma apresentação individual do PowerPoint, salvando em arquivos distintos numa pasta específica do computador. Já mostrei aqui no blog como salvar cada aba (planilha) em arquivos separados numa pasta do seu computador, mas nesse caso agora ensinarei como salvar cada gráfico em ppt (PowerPoint). E de bônus, vou mostrar como salvar em PDF (Adobe Acrobat) também!

Aproveitem o tutorial!

exportando-graficos-do-excel-para-o-power-point-ppt-01

Continuar lendo

Macro para Exibir, Inserir ou Remover os Hiperlinks das suas Planilhas

Olá Excelentes pessoas!!! Tudo bem com vocês?

A dica de hoje é para quem curte VBA. Vou ensinar como manipular a coleção Hyperlinks, que representa todos os links presentes em uma planilha, seja com direcionamento interno (entre planilhas) ou externo  (sites, emails).

Pode ser uma funcionalidade muito útil em qualquer projeto, principalmente naqueles que envolvam ambientes em rede, internet, enfim, você vai adaptar os exemplos abaixo de acordo com suas necessidades.

Você sabia que, além desta maneira de movimentar-se por suas planilhas, você poderia criar menus e atalhos para acessar as planilhas da sua pasta de trabalho usando uma ligação por hiperlinks?

Poderia, também, configurar endereços (urls) dinâmicos para acessar sites que dependam de parâmetros específicos e que podem ser obtidos em tabelas de dados em suas planilhas. Observe  um exemplo:

Você tem uma planilha com a listagem dos códigos de downloads do site. Na coluna A teremos os códigos. Suponha que vamos montar a url para acessar o download de número 1, que está na célula A1. Seria algo mais ou menos assim:

= “http://www.exceldoseujeito.com.br/downloads/?download_id=” & A1

Desta forma, definiríamos a url dinâmica e poderíamos incluí-la na macro.

Isto é apenas um exemplo, na prática você irá perceber melhor como funciona. Existe muita coisa a aprender a respeito, contudo, para não ficar cansativo vamos mostrar apenas algumas técnicas e exemplos neste artigo.

O que vamos aprender?

  • Listar todos os Hiperlinks usados nas Planilhas da Pasta de trabalho
  • Remover todos os links
  • Adicionar um novo Hiperlink
  • Acessar um Hiperlink

 

Boa leitura!

Continuar lendo

Perguntas e Respostas #3 – Escrever por extenso de acordo com a moeda informada

Olá pessoas Excelentes!

E aí? Tudo bem! Estão curtindo nossa promoção de Natal? O Sorteio será dia 24 de dezembro. Ainda dá tempo. Participem!

A dica de hoje é uma adaptação e melhoria na macro que converte qualquer número escrito numa célula para seu valor correspondente em extenso. Ou seja, um número como “R$ 9,90“, por exemplo, retornará “nove reais e noventa centavos” como resultado da fórmula. Essa funcionalidade é muito utilizada em holerites, recibos, comprovantes ou qualquer outra aplicação contábil que necessite alguma planilha.

Na publicação original, ensinei como converter um número no formato da nossa moeda brasileira, o Real. Contudo, um leitor informou sua necessidade de converter para outros formatos de moeda automaticamente de acordo com a formatação que se encontrasse o número na célula.

Vou explicar como fazer para as moedas Dólar e Euro, além do Real, é claro.

Continuar lendo

Perguntas e Respostas #2 – Macro para ocultar linhas de acordo com critério definido pelo usuário

Olá Excelentes pessoas!!!

Hoje teremos mais um artigo da série Perguntas e Respostas de Excel. Ou seja, de todos os comentários que recebo aqui no site, por email ou redes sociais, eu seleciono alguns que podem transformar-se em um artigo bem interessante a todos.

Por isso, te convido a interagir conosco aqui no site. Comentem, sigam-nos nas redes sociais (já temos twitter e em breve criaremos um facebook para o site). E para ficar sabendo de todas as novidades cadastrem-se para recebê-las em seu email.

Bom. Então vamos a dica de hoje.

Comentário postado pelo leitor no artigo ensinando uma macro para descobrir a última linha e coluna escrita numa planilha.

Gostaria de saber como posso ocultar linhas que estão fora de um intervalo de datas.

Por exemplo:

Tenho duas células cada uma com uma data, A1: 03/04/2007 e B1: 02/10/2012.
Em outra planilha da mesma pasta possuo datas na coluna A10 até A250, iniciando em 01/01/2003 e terminando numa outra data qualquer, sendo que as duas datas acima estão no intervalo entre as linhas 10 e 250 da coluna “A”.
Pergunto: Como devo proceder para, automaticamente ou com fórmulas, ocultar e/ou excluir as datas anteriores a 03/04/2007 e posteriores a 02/10/2012?

Continuar lendo

Dicas de Excel #2 – Macro: Identificando a última linha e coluna da planilha

Olá pessoas Excelentes…

Hoje é dia de dicas de Excel!!!

Uma rotina que sempre precisamos recorrer em nossos códigos e macros é aquela que recupera a última linha e coluna que estão escritas na planilha. Em diversas situações se faz necessário utilizar esta informação, como por exemplo, quando precisamos percorrer todas as linhas da planilha que possuam dados, seja uma lista de nomes, de produtos, de telefones ou qualquer outro tipo de lista. Se não soubermos qual será a última linha que tenha informações digitadas, nosso laço for ou while irá percorrer linhas vazias inutilmente. E isso não é bom para a performance da macro.

Por isso, neste artigo vou ensinar como obter esta informação em qualquer planilha, automaticamente. Ou seja, o código serve para qualquer planilha.

Continuar lendo

Dicas de Excel #1 – Macro para excluir linhas na quantidade pedida

Olá pessoas Excelentes!

A dica de hoje é super fácil e rápida. Resolvi disponibilizá-la aqui para todos vocês após responder um comentário deixado no post  Exibindo uma barra de progresso numa macro VBA.

Como a pergunta não aborda especificamente o tema do artigo em questão, achei interessante escrevê-lo separadamente para ficar mais visível a todos os leitores.

Bom. A questão solicitava uma rotina VBA que permitisse a exclusão de uma determinada quantidade de linhas de uma planilha conforme fosse informada pelo usuário digitando-se essa quantidade numa célula qualquer.

Por exemplo, o usuário digita na célula A2 o número 15. A macro excluiria 15 linhas da planilha.

Fiquei pensando uma aplicação prática para esta macro, de modo que pudesse explicar melhor a vocês o seu uso. Confesso que não pensei nada tão especial, mas como sempre digo: da necessidade que geramos as soluções.

Sei que já utilizei algumas vezes e pode ser muito útil para vocês. Vejamos o código da macro.

Continuar lendo

Macro para gerar números aleatórios sem repetição

Olá Excelentes pessoas!

Recentemente auxiliei um leitor no desenvolvimento de uma macro que gerava números aleatórios sem repetição.

Gerar os números aleatórios não seria tarefa tão difícil. Até aí tudo bem. Poderíamos rapidamente obter a solução utilizando uma simples combinação de fórmulas diretamente digitadas nas células da planilha. Isto resolveria o problema?

Em parte sim. Mas, os números gerados poderiam ser repetidos. Não teria como controlar isso, pois seriam gerados aleatoriamente.

Então, através de um algorítimo simples, faremos a verificação de possíveis duplicidades decorrentes do processo randômico de extração de números. Utilizamos esta mesma técnica para realizar sorteios diversos e podemos adaptar para múltiplos casos e finalidades.

Vejamos, a seguir, como fazer o código VBA para a macro que realizará a geração dos números distintos e aleatórios.

Continuar lendo

Excel – Perguntas e Respostas #1

Olá galera Excelente!!!

A partir de hoje vou iniciar um projeto de publicar toda sexta-feira um artigo compilando algumas perguntas que recebo nos comentários aqui do blog.

Os comentários que eu julgar que para respondê-lo seria necessário uma solução mais rebuscada  e detalhada, responderei em forma de artigo. O que me dará mais recursos como a exemplificação através de imagens, arquivos de exemplo para download, enfim, encontrei dessa forma uma maneira de atender melhor e oferecer, também, a possibilidade de deixar mais vísivel a todos os leitores.

Espero que gostem da novidade e que acompanhem sempre as dicas das sextas-feiras…

Vamos, então, as respostas de hoje.

Continuar lendo

Automatizar o envio de emails das suas listas com o Excel – Parte 2

Olá pessoas Excelentes.

Antes de iniciarem a leitura deste artigo, leiam a primeira parte da matéria, pois os conceitos iniciais foram explicados lá, ok.

Dando prosseguimento ao tutorial para enviar emails diretamente da sua planilha no Excel com o uso da biblioteca Microsoft CDO (cdosys.dll), hoje, vou explicar como anexar arquivos à mensagem de email e como enviar múltiplos emails de uma listagem contida em sua planilha.

Vou focar este artigo nos procedimentos de envio de email, caso você queira saber como gerar arquivos dinamicamente para anexar em suas mensagens, sugiro que leia estes artigos:

Criar um novo arquivo automaticamente

Enviar planilha por email diretamente do Excel

Salvar planilha como arquivo de texto (.txt)

Continuar lendo

Automatizar o envio de emails das suas listas com o Excel

Olá pessoas Excelentes!

Tenho recebido muitos comentários, pedidos e dúvidas acerca do tema “enviar emails pelo Excel“, por isso, há tempos desejo escrever um tutorial bacana sobre um modo mais avançado e aprimorado de realizar esta tarefa diretamente de suas planilhas.

Já ensinei, aqui no site, esta outra maneira de enviar emails pelo Excel, contudo, apesar de bem funcional, este método é bem limitado e dependente de um processador de emails instalado na máquina. Resolve em muitos casos mais simples e que não exijam muitas alternativas, como por exemplo, escrever uma mensagem personalizada no corpo do email.

Na dica de hoje, vamos utilizar um processo de envio de emails baseado em configurações de SMTP, as mesmas que você utiliza em qualquer aplicativo de envio de emails, como o Outlook, por exemplo. Desse modo, não será necessário nenhum software externo para auxiliar na execução desta tarefa. Tudo será gerenciado pela própria macro do Excel.

Vamos começar, pois temos bastante coisa para fazer.

Continuar lendo