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

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

Exibindo uma barra de progresso – Parte 2

Oi pessoal.

 

No artigo anterior, escrevi uma macro para exibir na barra de status do Excel o andamento de um processo em execução em seu projeto VBA. Clique aqui para ler agora.

Hoje, vou continuar abordando este tema e adicionando algumas técnicas que darão um ar ainda mais profissional aos seus projetos. Que tal exibir uma barra de progresso gráfica, com contador, igual a esta da imagem abaixo?

 

Figura 1

 

Muito legal! E nós vamos construir uma dessas agora. Vamos começar?

Continuar lendo

Caixa de texto do Userform com menu de contexto (botão direito do mouse)

Olá amigos.

Continuando o artigo onde respondo ao leitor Alexandro, concluo agora a resposta às suas perguntas. Veja a pergunta enviada para nós:

Saudações, quando criei um formulário no Excel (usando VBA),
os usuários reclamaram bastante dele, pois não se tem os botões
maximizar, minimizar, não se pode usar o botão do meio do mouse (rolagem para cima e para baixo),
além de não podê-lo redimensioná-lo verticalmente, em diagonal ou horizontalmente, além
de num textbox ou combobox não se pode clicar com botão direito com uma opção para colar algo
da área de transferência (daí deve-se usar control + V).
Tem alguma propriedade de formulário que faz isso ?
Como estes detalhes podem ser feitos em um formulário do EXCEL VBA ?
Obrigado Obrigado Obrigado

Então, caríssimos leitores, o menu de contexto que é o responsável por essa solicitação do Alexandro. Esse menu é chamado com o clique do botão direito do mouse. E, infelizmente, o userform pura e simplesmente não tem suporte nativo para esta funcionalidade.

Para responder esta questão, encontrei uma alternativa implementada no site www.andypope.info e vou adaptá-la neste artigo. Vejam como ficou.

Continuar lendo

UserForm com botões minimizar e maximizar e scrollbar que funciona com trackball do mouse

Olá amigos.

O artigo de hoje é em resposta ao leitor Alexandro. Eis sua pergunta:

Saudações, quando criei um formulário no Excel (usando VBA),
os usuários reclamaram bastante dele, pois não se tem os botões
maximizar, minimizar, não se pode usar o botão do meio do mouse (rolagem para cima e para baixo),
além de não podê-lo redimensioná-lo verticalmente, em diagonal ou horizontalmente, além
de num textbox ou combobox não se pode clicar com botão direito com uma opção para colar algo
da área de transferência (daí deve-se usar control + V).
Tem alguma propriedade de formulário que faz isso ?
Como estes detalhes podem ser feitos em um formulário do EXCEL VBA ?
Obrigado Obrigado Obrigado

São várias questões que foram levantadas pelo Alexandro. Vou respondê-las em dois artigos para facilitar o entendimento de todos, ok.

Começarei explicando os detalhes para conseguir incluir os botões de minimizar e maximizar o formulário.

Continuar lendo

Pesquisa Personalizada Simples 3 – Parte Final

Caros leitores, chego hoje ao capítulo final desta trilogia (risos).

Bem, para aqueles que ainda não leram os artigos anteriores, sintam-se a vontade. Acessem pelos links abaixo:

Parte 1 – Pesquisa Personalizada Simples

Parte 2 – Pesquisa Personalizada Simples – A Missão

Para concluir esta série de artigos sobre busca personalizada através de macro, vamos incrementar o código já disponibilizado com as funcionalidades de Adição de dados, Alteração de dados e Exclusão de dados. Esta tem sido uma grande solicitação dos leitores que atenderei com prazer.

Na verdade, o código inicial de pesquisa, que nada mais é que uma recuperação de dados. Ou seja, esta ação em um banco de dados chamamos de “seleção de dados”. E agora vamos incluir as ações de inserção, edição e exclusão de dados. Com isso, podemos resumir que estamos criando um simples controle de banco de dados.

É claro que, não chega nem perto de um gererenciador de banco de dados, mas, quebra o galho para pequenos projetos.

Aproveito a oportunidade para dizer que todos os códigos que disponibilizamos no site são, principalmente para fins educativos, ou seja, os exemplos dados aqui, são apenas exemplos para um maior e melhor entendimento dos leitores, que poderão adaptar o conhecimento adquirido aqui, em seus projetos.

Mas, vamos ao que interessa. Começemos a desenvolver.

Continuar lendo

Pesquisa Personalizada Simples 2 – A Missão

Estimados leitores amantes do excel…

Devido a inúmeros comentários e pedidos acerca da ferramenta que disponibilizei no artigo sobre pesquisa simples, hoje, estou incrementando algumas melhorias de acordo com as sugestões enviadas para mim.

Ajustei algumas linhas de comando que faziam com que as funções fossem estáticas, do tipo, a pesquisa só seria realizada na Plan1, ou, também não era possível escolher em qual coluna pesquisar. Seria necessário, reconfigurar toda a estrutura dos códigos programados. Hoje, portanto, reprogramei esta função da pesquisa personalizada, para, por exemplo:

  • Pesquisar em mais de uma planilha;
  • Pesquisar definindo a coluna onde os dados serão procurados (desde que, as planilhas possuam a mesma estrutura de colunas);
  • Exibir em que planilha o resultado foi encontrado.

Algumas outras sugestões dos leitores, eu disponibilizarei, em um próximo artigo. Mas, já adiantando o assunto, será incluir nessa pesquisa a possibilidade de atualizar esses dados na base de dados da planilha onde eles estão escritos. Não deixem de acompanhar esta “saga” (risos). Bem… mas vamos a missão de hoje.

Continuar lendo

Criando uma Pesquisa Personalizada Simples

Oi pessoal. Hoje vamos criar uma pesquisa personalizada bem simples com base no comando Localizar do excel. Nessa pesquisa, os dados retornados serão exibidos num formulário.

Vamos começar então.

Tendo em mãos uma planilha simples:

Nome Estado Função Status
Marcelle Silva Rio de Janeiro Técnica Ativo
Cláudia Mara Goiás Técnica Ativo
Ricardo Teles Minas Gerais Supervisor Ativo
James Wood Rio de Janeiro Técnico Férias
Aline Aguiar Moraes Bahia Técnica Ativo
Cláudia Moraes Lima Rio Grande do Sul Gerente Executiva Ativo
Marcelo de Souza Rio de Janeiro Supervisor Aposentado
Maria Antonieta Bahia Secretária Férias
Jackie Wistern Bahia Técnico Ativo

Temos, assim, quatro colunas: nome, estado, função e status. Adicione um botão de comando nessa planilha, Continuar lendo