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

Projetos que utilizam a biblioteca MSCOMCTL.OCX precisam da atualização MS12-060

Então pessoas Excelentes, tudo bem?

Recentemente tenho recebido vários feedbacks sobre erros de execução em determinadas planilhas contendo macro. Mensagens do tipo:

  • Impossível abrir projeto ou biblioteca;
  • Não foi possível carregar um objeto porque ele não está disponível.

Muito bem pessoal, esse erro de compilação tem ocorrido recentemente em todas as planilhas que possuem projetos VBA que fazem referência a biblioteca MSCOMCTL.OCX (Windows Common Controls ActiveX Control DLL). Esse componente possui os controles e funcionalidades de objetos como a ListView, por exemplo.

Então se sua macro possui formulários (UserForms) que contém os controles de ListView, será muito provável que apresente erro enquanto seu sistema não for atualizado.

Geralmente esta atualização é automática, através do Windows Update.

A Microsoft publicou um boletim descrevendo esta atualização que foi lançada em 14 de agosto de 2012. A versão deste arquivo é a 6.1.9834 e esta atualização de segurança elimina a vulnerabilidade desabilitando a versão vulnerável dos controles comuns do Windows e substituindo-os por uma versão nova que não contém a vulnerabilidade.

Para quem está passando por este problema e ainda não atualizou o sistema, vou deixar o  link para download deste arquivo no final desta matéria.
Continuar lendo

Como registrar uma dll particular para incluir na sua Macro VBA

Oi pessoas Excelentes!

Hoje vai uma dica essencial para quem desenvolve projetos mais complexos em VBA. Macros que utilizam controles externos e que podem não estar disponíveis na máquina.

Um exemplo desta situação seria a necessidade de instalar um controle diferente de calendário num formulário ou um controle de listagem mais sofisticado que o ListView tradicional. Nestes casos, você teria que recorrer a inserção de uma nova referência de biblioteca ao projeto.

Mas, se a biblioteca a ser incluída no projeto ainda não estivesse instalada na máquina? Como eu faria esta referência?

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