Excel – Mais um exemplo de VBA, UserForm e Cadastro

Sem tem algo que os visitantes deste blog gostam, e muito, são os exemplos de planilha que são colocados.

Alguns exemplos são próprios, mas outros são referências a sites externos, que são tão bacanas que seria uma lástima não mencioná-los aqui. O mais novo é um modelo de planilha publicado pelo site Tudo Downloads.

O modelo mostra como criar um cadastro baseado em um Userform VBA bem simples, de uma forma bem didática e, espero, para a alegria dos visitantes, está em português! De quebra, ainda ensina como colocar um relógio no formulário, algo um pouco mais complicado de se fazer no VBA do que em outras linguagens.

O tutorial na íntegra pode ser lido neste link:

http://tudodownloads.uol.com.br/tutoriais/programacao/aq124-userform_com_busca_e_relogio.html?pagina=1

Um preview do tutorial pode ser visto abaixo:

Vista do Tutorial
Vista do Tutorial

Bom proveito!

Excel – Limpando espaços em branco do texto com a função ARRUMAR

Situação comum, principalmente para quem trabalha com importação de dados que vêm de outros sistemas é ter que fazer uma limpeza destes. Dentre as limpezas que são necessárias, algumas já comentei neste blog, outras vou comentar e uma bem frequente é a retirada de espaços em branco em textos de células.

Para isso, o Excel disponibiliza a função ARRUMAR. Segundo a própria Microsoft:

Remove todos os espaços do texto exceto os espaços únicos entre palavras. Use ARRUMAR no texto que recebeu de outro aplicativo que pode ter espaçamento irregular.

Importante A função ARRUMAR foi desenvolvida para aparar o caractere de espaço ASCII de 7 bits (valor 32) do texto. No conjunto de caracteres Unicode, há um caractere de espaço adicional denominado caractere de espaço incondicional, o qual possui um valor decimal de 160. Esse caractere é comumente utilizado em páginas da Web como entidade HTML,  . Por si própria, a função ARRUMAR não remove o caractere de espaço incondicional.

Sintaxe

ARRUMAR(texto)

A sintaxe da função ARRUMAR tem os seguintes argumentos (argumento: um valor que fornece informações a uma ação, um evento, um método, uma função ou um procedimento.):

  • Texto Obrigatório. O texto do qual se deseja remover espaços.

Um exemplo prático

É muito comum ao receber arquivos de outrem e no momento de fazer uma comparação com algum valor nele existente, algo estranho acontece. Por exemplo, a figura abaixo:

Comparação inconsistente
Comparação inconsistente

Reparem na fórmula que é colocada. Porque o resultado não é o esperado? O fato é que há espaços em branco depois do nome “Brasil” em A1, o que faz a comparação ser inválida. É o tipo de erro que é bastante complicado de identificar. A correção abaixo, que acrescente a função ARRUMAR resolve o problema:

Comparação usando a função ARRUMAR
Comparação usando a função ARRUMAR

Por isso, quando se trabalha com campos de texto e tratamento sobre estes, recomenda-se limpar os dados com a função ARRUMAR para ter certeza que não haverão grandes problemas mais adiante.

Referências

http://office.microsoft.com/pt-br/excel-help/arrumar-funcao-arrumar-HP010342967.aspx

Excel – Extendendo o Filtro Avançado (usando curingas)

Algo comum para quem trabalha com desenvolvimento de sistemas (que dirá os programadores SQL), os caracteres curingas são utilizados para ampliar nosso escopo de pesquisas. São atalhos para facilitar essencialmente a busca de texto que siga um determinado padrão, por exemplo, um texto que não seja exatamente, mas que apenas contenha determinada informação.

A boa notícia é que este recurso também está disponível no Excel através do filtro avançado.

Em detalhes

As situações são diversas. A que mais encontro são as que colocarei abaixo. Quem já conhece um pouco de consultas em SQL vai se sentir bastante a vontade, principalmente se utiliza o operador LIKE, mais ainda no caso do egine Jet, utilizada no Access.

O curinga ? assume o lugar de qualquer caractere em uma string Localizar. Por exemplo, a string 100? em Localizar encontra os valores 1001, 100A e assim por diante.

O curinga * ocupa o lugar de um ou mais caracteres em uma string Localizar. Por exemplo, a string 1* localiza as entradas 10, 123A, 1-800 etc.

Nota: Para quando quisermos pesquisar uma string que contenha ? ou *, devemos inserir um til (~) antes do caractere. Por exemplo, para encontrar a string Que? – mas não Quem – insira Que~? na caixa de texto Localizar.

Outra dica importante é que se digitarmos um ou mais caracteres sem um sinal de igual (=) para localizar linhas com valor de texto em uma coluna que inicie com tais caracteres. Por exemplo, vamos digitar o texto Min como critério, o Excel irá localizar “Mineiro”, “Minas” etc. Express Training

A boa notícia é que é possível utilizar quase todos os curingas no Localizar do Excel, bastando seguir os padrões acima.

Um exemplo

Considere a planilha abaixo.

Lista de Exemplo para o Filtro com Curingas
Lista de Exemplo para o Filtro com Curingas

Primeiramente, ativamos o auto filtro. Em seguida, vamos a alguns testes. Supondo que queira todas as cidades que comecem com o nome “São”, vá em personalizar filtro e coloque o seguinte:

Personalizando o Filtro
Personalizando o Filtro

Veja que na própria tela de personalização de filtro já são dados alguns exemplos de uso dos curingas. Clique em OK e veja o resultado:

Filtro "São*" aplicado
Filtro "São*" aplicado

Exatamente o que queríamos. Note que a cidade São Bernardo do Campo não apareceu no resultado do nosso filtro. Claro, já que o “São” está digitado como “Sáo”. Muitas vezes temos uma situação parecida, comum em casos de importação de arquivos externos de texto, HTML e outros que acabam por perder  a formatação ou codificação, trazendo caracteres diferentes daqueles que esperamos ser. Nesse momento é que curingas são importantes. Para ignorar o erro no caso citado, bastaria alterar o filtro de “São*” como foi definido inicialmente para “S?o*”. Aplicando o filtro, temos o resultado:

Filtro corrigido
Filtro corrigido

Aqui vale um recado. Utilizar a sequência “S*o*” funcionaria? Neste caso, a cidade de Santo André também seria incluída na lista. Porque? Simples. Como explicado acima, o curinga ? quer dizer qualquer caractere, enquanto o * quer dizer um ou muitos, portanto, “São” e “Santo” são válidos para este último.

Bom proveito!

Excel – Removendo quebras de linha – Parte 2

Recentemente, postei um artigo divulgando uma “artimanha” para efetuar a remoção de quebras de linha em células do Excel. Apesar de engenhosa e funcional, a solução fazia uso do Microsoft Word, o que não chega a ser um grande problema, já que os dois softwares são praticamente irmãos.

Mas, é possível fazer o mesmo, sem sair do Excel. Para isso, acione a caixa de diálogo Substituir (Ctrl+U), e no campo Localizar, mantenha a tecla Alt pressionada e digite 0010, soltando a tecla Alt em seguida. Vai aparecer um caractere estranho, mas sem pânico, pois ele é a representação da quebra de linha no Excel. Agora é só clicar em Substituir, ou Substituir tudo.

Simples, rápido, funcional!

Bom proveito!

Referências

http://www.pcreview.co.uk/forums/thread-1766687.php