Calendário com efetividade

por João Henrique


Sempre que preenchemos um documento, acabamos perguntando "que dia é hoje?" ou olhamos no calendário. Um calendário bem feito, porém, serve para muito mais do que informar a data. Um calendário pode, em muitos casos, substituir uma agenda.


A idéia é, no calendário, marcar apenas os compromissos, os horários marcados, prazos... coisas que têm uma data ou horário bem definidos.

O que não tiver que ser feito especificamente em uma data, fica fora do calendário. Por exemplo, "Pegar exames no médico" ficaria melhor numa lista de tarefas (ou pendências, ou to-do list). Mesmo que você queira muito, mas muuuuuuito mesmo pegar o exame amanhã, não deverá haver problemas se eles forem pegos no dia depois de amanhã.

O mesmo acontece com prazos. Você pode marcar na data 15/11 "enviar relatório de vendas para o cliente", que é a data em que você acha que terminará o relatório. Eita, atrasou, e agora!? Pois é. Se, em vez de marcar a data que você pretende enviar, você marcar o prazo no qual você tem que enviar, ficará mais fácil de organizar suas tarefas do dia-a-dia de forma que você consiga cumprir o prazo. Se você terminar antes, ótimo!, nada impede que você envie o relatório antes.

Veja como fica um calendário organizado dessa forma:


Como vocês podem ter reparado, estamos separando as coisas que devem ser feitas naquela data/hora das coisas que podem ou que gostaríamos que fossem feitas naquela data/hora. E qual é a vantagem?

1) Facilita o cumprimento dos compromissos e prazos, evitando atrasos
2) Maior flexibilidade para escolher as tarefas que serão feitas a cada dia

Como assim maior flexibilidade? Assim: a cada dia, você poderá fazer as tarefas mais prioritárias no seu tempo disponível, em vez de fazer uma coisa simplesmente por que você a marcou previamente no seu calendário.

Se você ainda não tiver um calendário para usar essas dicas, experimente o nosso calendário 2010 ou de 2009. Aguardo sua experiência nos comentários

Continue lendo…


Dashboard - Velocímetro no Excel

por João Henrique

Elementos visuais costumam facilitar a interpretação de dados. Para quem quer representar seus dados como um velocímetro, preparei esse modelo de gráfico:


Personalizar o velocimetro é fácil, basta preencher a tabela com os seus dados. Valor mínimo e Valor máximo são as extremidades do gráfico, ou seja, o menor valor e o maior valor que o dado pode assumir. Em Valor atual, você digita o dado em si, representado pelo ponteiro do velocimetro.


Você também pode alterar os rótulos que aparecem no velocímetro. Já os Valores calculados você não deve alterar, pois eles contêm as fórmulas usadas pelo gráfico para calcular a posição correta do ponteiro, baseado nos seus dados.

Para quem quiser fazer o seu próprio velocímetro: ele é formado por dois gráficos de Rosca sobrepostos. Infelizmente, ele não funciona para valores negativos.

Para baixar:
Velocímetro no Excel

Continue lendo…


Como saber se um texto é um número? (VBA)

por João Henrique

Nada mais comuns em uma macro do que fazer contas. A gente pega o valor de uma célula, ou de uma caixa de texto, multiplica com o de outra célula, soma com o de outra, e assim vai. Mas o que acontece quando a gente manda multiplicar A1 por 10 e em A1 está escrito uma palavra?


É isso mesmo, aparece uma mensagem de erro dizendo "Tipos incompatíveis". Afinal, multiplicar um texto por um número, hmmmm... não tem como dar certo, né? O que a gente pode fazer para evitar esse tipo de erro é verificar se o dado em questão é realmente um número.

Para isso, a gente pode fazer um pequeno if como esse:
If IsNumeric(dado) And Not IsEmpty(dado) Then comando
, onde a gente vai substituir 'dado' pelo dado que queremos usar e 'comando' pelo comando ou conta que queremos fazer.

Agora explicando: a função IsNumeric diz se o valor passado como argumento (entre parênteses) é um número. No entanto, ela também considera como número a célula em branco, ou a variável vazia, por isso que usamos também a função IsEmpty. A função IsEmpty diz se o valor passado como argumento é vazio.

Traduzindo o IF: Se o dado é um número, e o dado NÃO é vazio, então execute o comando.

Exemplos com célula:
Sub exemplo1()
If IsNumeric(Range("a1")) And Not IsEmpty(Range("a1")) Then MsgBox "O valor de A1 é número e a célula não está em branco"
End Sub
Traduzindo: se o valor da célula a1 for realmente um número, mostre uma mensagem dizendo que O valor de A1 é número e a célula não está em branco

Sub exemplo2()
If IsNumeric(Range("a1")) And Not IsEmpty(Range("a1")) Then MsgBox A1*10
End Sub
Traduzindo: se o valor da célula a1 for realmente um número, mostre uma mensagem com o resultado da multiplicação do valor de A1 por 10

Exemplo com variável:

Sub exemplo3()
Dim variavel1
variavel1 = 5
If IsNumeric(variavel1) And Not IsEmpty(variavel1) Then MsgBox "A variável1 é número e não é vazia"
End Sub
Traduzindo: se o valor da variável1 for realmente um número, mostre uma mensagem dizendo que A variavel1 é número e não é vazia

Quando uma caixa de texto está em branco, a função IsNumeric dá False, ou seja, ela diz que o valor da caixa de texto NÃO é um número. Por isso não precisamos usar a função IsEmpty ao usar caixas de texto.

Exemplo com caixa de texto:

Sub CommandButton1_Click()
If IsNumeric(TextBox1) Then MsgBox "O valor da caixa de texto é mesmo um número, e ela não está em branco"
End Sub
Traduzindo: se o valor da TextBox1 for realmente um número, mostre uma mensagem dizendo que O valor da caixa de texto é mesmo um número e ela não está em branco

Continue lendo…


Quebra de linha no VBA - Underline

por João Henrique

Um assunto que costuma gerar muitas dúvidas, apesar de ser simples, é o uso do Underline (esse tracinho: _ )

Ele fica fácil quando pensamos nas quebras de linha do nosso português normal. Quando você está escrevendo uma palavra e o espaço da linha acaba, você usa o hífen ( - ) e continua a palavra embaixo, certo?

De forma similar, no VBA, quando a gente está escrevendo uma linha e ela já está muito grande, podemos colocar o Underline e continuar na linha abaixo. Veja o exemplo de uma macro sem e, depois, com Underline.


Com o Underline fica mais fácil de ler, né? Ok, mas ao contrário do português, a gente não pode colocar o Underline no meio de uma palavra, e sim entre uma palavra e outra. E sempre, SEMPRE, tem que haver um espaço antes do Underline. Veja a mesma macro, com mais quebras de linhas, todas válidas.


Public Sub exemploCorreto()
If Range("A1") = "a" Or Range("A1") = "e" Or _
Range("A1") = "i" Or Range _
("A1") = _
"o" Or Range("A1") = "u" _
Then MsgBox _
"O texto em A1 é uma vogal"
End Sub

Também não é possível quebrar a linha no meio de um texto (string), ou seja, entre aspas. Veja agora um exemplo onde TODAS as quebras de linha são INVÁLIDAS.

Public Sub exemploErrado()
If Range("A1") = "a" Or Range("A1") = "e" Or_
Range("A1") = "i" Or Range("A1") = "o" Or Ran _
ge("A1") = "u" Then MsgBox "O texto em A1 é _
uma vogal"
End Sub

A primeira quebra de linha é inválida por que não foi digitado o espaço antes do Underline. A segunda quebra de linha é inválida por que o Underline foi colocado no meio da palavra Range. A última quebra de linha é inválida por que está dentro de um texto.

PS: normalmente, o Underline se escreve apertando Shift + hífen

Continue lendo…


Função ARRUMAR - Excel

por João Henrique

A função ARRUMAR retira os espaços "sobrando" em um texto. Ou seja, retira os espaços que tiver no início do texto, no final do texto e os espaços excedentes entre palavras (quando tem mais que 1 espaço entre uma palavra e outra).

Sintaxe: ARRUMAR(texto)

Exemplos:
- "     bola" vai virar "bola", sem os espaços no começo
- "bola     " vai virar "bola", sem os espaços no final
- "    bola     " vai virar "bola", sem espaços nem no começo nem no final
- "bola       de  futebol" vai virar "bola de futebol", sem espaços excedentes entre as palavras
- "     bola     de futebol   " vai virar "bola de futebol", sem espaços no começo, no final, e sem espaços excedentes entre as palavras

Isso é muito útil para evitar que deixemos de achar um texto escrito em uma planilha, nas funções PROCV, SE e outras. Confira o exemplo abaixo.


No primeiro caso, a resposta está correta, mas com alguns espaços excedentes entre as palavras, fazendo com que o Excel não reconheça a resposta correta. No segundo caso, nós eliminamos os espaços excedentes usando a função ARRUMAR.

E você, como usa essa função?

Continue lendo…


Como bloquear sua planilha

por João Henrique

Quando não queremos que alguém, por acidente ou de propósito, altere alguma coisa na nossa planilha, podemos usar o recurso "Proteger planilha".

Para isso, é só ir na guia "Revisão", e apertar o botão "Proteger Planilha".


Na janela que aparece, você pode digitar uma senha. Só quem souber essa senha poderá desbloquear a planilha (cuidado para não esquecê-la).

Você também pode, nessa janela, permitir que as pessoas façam certas ações mesmo com a planilha bloqueada, como "Formatar células" e "Inserir linhas" - basta marcar a caixinha correspondente.


Após clicar em OK, a planilha já estará bloqueada - não é mais possível alterar o conteúdo das células, mover imagens, alterar fonte, inserir figuras, etc.

Para desbloquear a planilha basta ir na guia "Revisão" e apertar o botão "Desproteger Planilha". Se na hora de proteger a planilha você definiu uma senha, será também preciso digitá-la para desbloquear.

Observe que o recurso "Proteger planilha" não impede que suas planilhas sejam lidas, ele apenas evita a alteração das mesmas.

Dica: para bloquear todas as planilhas do seu arquivo, será preciso realizar esse procedimento em cada uma delas

Continue lendo…


Classificar notas - Conceitos de alunos

por João Henrique

A leitora perguntou como classificar as notas de alunos, e o Dicas de Excel responde: é só usar a função SE. Mais especificamente, precisaremos ter uma função SE dentro da outra. Acompanhe o raciocínio:
- Se a nota for maior ou igual a 8, o conceito é Bom
- Senão, se a nota for maior ou igual a 5, o conceito é Regular
- Senão, o conceito é Ruim

Traduzindo para o Excel, fica assim (assumindo que a nota está na célula C2):
=SE(C2>=8;"Bom";SE(C2>=4;"Regular";"Ruim"))



A função SE é um grande quebra-galho, não?

Continue lendo…


Como escrever uma função para o Excel - Parte 3

por João Henrique

Já vimos como escrever uma função sem argumentos, com 1 argumento, e agora veremos como escrever uma função em VBA com mais de 1 argumento.

Como assim? Argumentos são os valores que a gente informa à função, para que ela possa dar um resultado. Por exemplo, para calcular a velocidade média de um carro nós precisamos saber de duas coisas: o tempo que ele levou para percorrer uma certa distância, e a distância. Dessa forma, se quisermos definir uma função que calcule a velocidade média, teremos que definí-la de forma a receber essas duas informações (que são os argumentos).

Já vimos que os argumentos de uma função ficam dentro dos parênteses logo após o nome da função. Para definir mais de um argumento, basta separá-los por vírgulas:

Private Function calcularVelocidadeMedia(tempo, distancia)
     calcularVelocidadeMedia = tempo/distancia
End Function


Tendo definido a função, podemos usá-la na nossa planilha, respeitando a ordem dos argumentos (no caso, primeiro o tempo, depois a distância).


OBS: na hora de definir a função separamos os argumentos com vírgula (,) mas na hora de usar a função (na planilha) usamos o ponto-e-vírgula (;)

Continue lendo…


Como mostrar o dia da semana atual por extenso

por João Henrique

Nós já vimos que a função AGORA dá como resultado a data e a hora atuais. Se quisermos mostrar só o dia da semana, é só usar a função DIA.DA.SEMANA, assim: =DIA.DA.SEMANA(AGORA())


Mas e se quisermos mostrar o dia da semana por extenso, em vez de apenas um número? Nesse caso, a gente só precisa usar a função AGORA e personalizar a sua exibição, como fizemos também com o MÊS. Para isso, selecione a célula que contém a função AGORA e vá em Formatar Células (Ctrl + 1).


mês por extenso excel.jpg


Na aba "Número", escolha a categoria "Personalizado". Do lado direito, em "Tipo:" escreva dddd


dia da semana por extenso excel.jpg


Pronto, agora é só apertar OK.

Continue lendo…


Curso Info - Show de Gráficos no Excel

por João Henrique


Achamos para download a revista Curso Info com o tema Show de Gráficos no Excel. O material da revista é:
- Gráfico duplo
- Pizza dentro de pizza
- Gráfico variável
- Tabelas dinâmicas
- Orçamento doméstico
- Controle mensal
- Planilha 3D
- Consolidação com VBA

Vale a pena a leitura.

Para baixar: Curso Info "Show de Gráficos no Excel"

Continue lendo…