Fazer o Excel distinguir célula vazia X célula contendo valor 0 (zero)

Certa vez um leitor perguntou-me a respeito do Excel não diferenciar os valores da célula quando este for 0 (zero) ou for uma seqüência vazia (célula vazia).

Ele disse:
Estou com a seguinte dúvida: Não consigo fazer com que uma célula diferencie 0 de vazio, quando copiado de outra célula. Exemplo: digito em E1, C1=A1 e tanto faz se A1 está vazia ou com 0 o valor retornado é sempre 0.

Algumas perguntas que permeiam este tema são: Existe uma fórmula para diferenciar valor 0 (zero) de seqüência vazia? Como identificar se valor da célula é 0 ou vazio?

Enfim, quando escrevemos uma fórmula que faça referência a qualquer célula vazia o resultado retornado será 0. Faça um teste:

Digite 0 na célula A1. Em seguida, digite na célula B1 a seguinte fórmula:

= A1

Perceba que o resultado da fórmula é 0 (zero).

Agora, apague o conteúdo da célula A1, não escreva nada nela. Veja o resultado da célula B1. Incrível! Continua zero.

Bem. Isso não é um problema, pois não influencia em cálculos, visto que, zero e nada, são a mesma coisa para efeito de operações matemáticas. Dependendo da formatação, tipo moeda, por exemplo, aparece um traço se for zero, mas neste texto ensino como remover aquele tracinho.

Mas, quando há necessidade de comparações textuais, por exemplo, ou de análise de informações diversas, como era o caso do leitor citado acima, isso faria uma grande diferença. Digamos que se queira comparar valores em duas células. Um deles (A1) possui o valor zero e o outro (B1) não foi informado, portanto a célula está vazia. Se fizermos uma comparação simples do tipo A1=B1, ela falhará, pois retornará VERDADEIRO, porque nesta comparação 0=vazio (zero é igual à célula vazia). A comparação não poderia ser verdadeira pelo fato de que ainda falta um dado a ser informado em B1, o que deveria ser sinalizado na fórmula para uma possível tomada de ação do analista daquela planilha.

Como resolver isto de maneira simples? Isto é o que eu vou dizer para vocês agora. 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 …

Contornando um bug da função Mês

Dúvida postada pelo leitor Cido.

Olá Reinaldo, preciso de mais uma ajuda sua.
A Fórmula =SOMA(SE(MÊS(A1:A6)=B1;1;0)) resulta em comportamento diferente em se tratando do mês de janeiro, pois são somados todas as células vazias do range o que não ocorre com os outros meses. Já tentei de tudo mas não consegui resolver. Desde já agradeço sua ajuda.
Obrigado.

A fórmula Mês do Microsoft Excel retorna o mês de uma data representado por um número de série. O mês é fornecido como um inteiro, variando de 1 (janeiro) a 12 (dezembro).

Para que você possa entender este processo, é necessário saber que o Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de janeiro de 1900.

Até aqui tude bem. Nada resultaria em erros na sua utilização. Contudo, e, não me peçam para explicar o porquê, o valor 0 ou “”(célula vazia) é interpretado como 00/01/1900. Ou seja, uma célula vazia ou contendo o valor 0, retornaria uma data do mês de janeiro (dia: 0 – que coisa não!).

Para ajudar nosso leitor a resolver isto, e prestar uma informação útil a todos vocês, apresento uma pequeno arranjo na fórmula para ajustar este bug.
Eis a solução para contornar este problema. Continuar lendo …

Macro para Salvar uma Planilha XLS em TXT

Amigos, esta dica de hoje é em resposta a dúvida do leitor Rick.

Será que alguém tem uma macro que salva os dados de uma planilha XLS em TXT?
POR FAVOR PRECISO DE AJUDA.

Seria interessante que você fizesse a leitura do artigo Criar um novo arquivo excel dinamicamente.

Nessa dica vou disponibilizar uma arquivo com uma macro que lista todas as planilhas de um arquivo do Excel para que o usuário possa selecionar uma planilha a ser convertida para txt. O formato txt apenas aceita a conversão de cada planilha individualmente.

Espero que possa ajudá-los. Sintam-se a vontade para modificarem a macro para adequar-se a realidade de seus projetos.

Abraços.

Abaixo, segue a transcrição do código.

Continuar lendo …

Dica: Salvar cópia do arquivo atual

Olá caro leitor,

Para que você acompanhe esta dica, seria interessante fazer a leitura do artigo Macro que salva automaticamente as alterações de sua planilha.

Recebi um pedido de help do leitor Allston que dizia:

Otima dica!

Mas veja se oque eu vou explicar é possivel.

Oque eu precisaria era que ele salva-se como um outro arquivo de nome diferente conforme o o dia atual.

por exemplo: Eu crio no dia 1º de novembro de 2010 o arquivo “ExeceldoSeuJeito” e precisária que o Execel desse um “Salvar Como…” e salva-se com o nome “ExeceldoSeuJeito 01-11-2010″ (usei como exemplo o hifem ” – ” porque o windows não aceita a barra ” / ” no nome do arquivo)

Se não for possivel por a data tudo bem, mas tem como fazer “salvar como…” e pré determinar o nome do arquivo? e se possivel pré determinar o nome com o valor de alguma celula?

Att.

Desenvolvi uma possível solução para ele, e agora, transmito a todos vocês.

Continuar lendo …

Listão das Teclas de Atalho do Excel

Pessoal, muitas vezes precisamos de mais agilidade quando estamos trabalhando em nossas planilhas. Por isso, quando queremos automatizar tarefas que repetimos diversas vezes, podemos nos utilizar da gravação de macros. Enfim, o Excel já ciente dessa necessidade de agilidade para o usuário, possui internamente algumas pequenas funções para nos ajudar. Elas são acessadas através das teclas de atalho.

No artigo de hoje disponibilizo uma grande lista com as teclas de atalho que você pode utilizar no Excel.

Continuar lendo …

Inserir um Calendário Completo na sua Planilha

Olá caríssimos leitores.

Sejam bem vindos mais uma vez ao meu site.

A dica de hoje será um exemplo bem prático, é claro, para aqueles leitores com conhecimento um pouco mais avançado sobre VBA. Contudo, ao final deste artigo, disponibilizarei o arquivo fonte, com todo o código utilizado e funcional, para todos poderem testar e aprender um pouco mais. Isso ajuda bastante aos iniciantes em VBA.

Vou mostrar como adicionar um calendário (do tipo folhinha de parede ou de mesa) dentro de uma planilha. Tudo isso, automaticamente, através de macro.

Esta macro, criará os grupos de meses, semanas, enfim, todos os blocos ajustados como num calendário mesmo. Com esta rotina, o leque de possibilidades de possíveis criações e adaptações é enorme. Unificar a um sistema de agenda, gerando relatórios neste formato, adaptar para imprimir apenas um mês específico, enfim. Podemos estudar bastante os fundamentos VBA.

Então vamos começar.

Continuar lendo …

Mostrar números de páginas dentro das células

Oi caros leitores.

Hoje falo sobre um assunto que ‘penei’ um pouco para aprender como fazer: Exibir, como conteúdo de uma célula, o número da página ou total de páginas de uma planilha. O Excel mostra este mesmo tipo de informação apenas na ferramenta Cabeçalho/Rodapé.

Sei que em muitos casos essa função seria extremamente útil, talvez não para exibir o resultado na célula, mas para utilizar internamente nas suas rotinas de tratamento para as mais variadas funções de suas macros.

Vou mostrar como obter esta informação, que você poderá adaptá-la como preferir em suas macros.

Continuar lendo …

Contagem de Subtotais com fórmula

Olá amigos.

Mais uma dúvida levantada por um leitor.

Eis a questão do Daniel:

Parabéns pelo site.

Tentei verificar se alguém já teve minha dúvida mas não encontrei.
Tenho os dados na tabela e preciço contar quantos empregados tenho em cada unidade administrativa. A planilha está assim

Unidade cargo
Escola 1 secretário
Escola 1 professor
Escola 1 vigia
Escola 1 professor
Escola 2 secretário
Escola 2 professor
Escola 2 vigia

Como eu faço os subotais de forma que eu saiba
Escola 1 secretário 1
Escola 1 professor 2
Escola 2 vigia 1

São 40 escolas com vários cargos e 800 linha para fazer esse relatório. Não imagino algo mágico, mas uma fórmula que eu consiga obter esses subtotais atualizados sempre.

Obrigado.

Vamos a solução.

Este caso pode ser resolvido de forma simples com a estrutura dos subtotais no menu Dados > Subtotais…

No entanto, vou explicar uma maneira de conseguir um resultado personalizado através de fórmulas, ok.

Continuar lendo …

Contar Células Coloridas pela Formatação Condicional

Olá pessoal.

Eu já havia escrito um artigo semelhante ao que vocês lerão agora, contudo, muitas pessoas vêm me pedindo uma melhoria nele para atender às células que tem seus backgrounds definidos dinamicamente via Formatação condicional.

Então. Hoje vou mostrar como fazer isso. Para quem não leu a matéria anterior sobre este assunto, leia para entender melhor este artigo.

Continuar lendo …