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 …

Encontrar o vencedor para uma concorrência do menor preço

Olá pessoas Excelentes!

Hoje vou ensinar uma dica super rápida e básica com o uso de algumas fórmulas do Excel. Apesar de ser bem fácil de utilizar não permite-nos associar ao uso banal ou simplório. Em muitos casos precisamos identificar numa tabela gigantesca de dados um determinado valor que seria extremamente desgastante e demorado se o fizéssemos manualmente, procurando item por item. Imaginem isso!

Já ensinei aqui no blog algumas outras técnicas de procura através de fórmulas como o PROCV ou o CORRESP, mas existem situações nas quais não alcançaríamos os resultados esperados com o uso destas funções ou, simplesmente, não seriam as melhores escolhas.

Por isso, vamos aprender mais uma alternativa de pesquisa dentro de uma planilha. O exemplo que vamos trabalhar faz uma junção de funções e tem como temática a identificação do menor valor (preço) numa tabela que possui os concorrentes de um certame para a oferta de alguns produtos fictícios.

Vamos supor que, nesta tabela, estejam descritas todas as ofertas de inúmeras empresas participantes do concurso. Cada uma informou o preço que dispõe para cada produto da lista. Bem, nossa missão é encontrar nesta listagem qual empresa ofertou o menor preço para cada produto.

Continuar lendo …

Usar a função PROCV para buscar em várias planilhas ao mesmo tempo

Olá pessoas Excelentes!

Recentemente recebi um comentário aqui no site perguntando se existe uma maneira de utilizar o PROCV para obter um resultado buscando-se em diversas planilhas. Bem… inicialmente podemos dizer que não, mas, como gostamos de brincar com Excel, podemos, perfeitamente, simular essa solução com o auxílio de nossos conhecimentos já adquiridos aqui no site, fazendo um mix de funções e montando uma fórmula ideal para atender a esta necessidade.

Quando nós aprendemos a usar o PROCV para pesquisar em nossas planilhas parace que tudo fica mais fácil, não é? Talvez este seja o caso deste nosso leitor, contudo, ele se deparou com algumas limitações que não se adequam a estrutura já utilizada em sua planilha. Acontece bastante. Ou faz-se as modificações para poder utilizar a função que solucionaria sua aplicação ou trabalha-se em buscar alternativas e “macetes” para atingir o resultado esperado. Na maioria das vezes, posso adiantar que é possível.

Vamos ver como faremos neste caso.

Continuar lendo …