Você está na página 1de 61

Publicado em 08 de maio de 2009

por Fábio Vianna

Neste exemplo vamos criar botão que mude da planilha 1 para a planilha 2. Para isso vamos criar
uma macro. Digite Alt + F11 e surgirá a tela do Visual Basic. Agora clique em Inserir / Módulo:

<!--[if !vml]--><!--[endif]-->

Dentro do módulo criado, digite a seguinte macro:

<!--[if !vml]--><!--[endif]-->
Este macro chamado de Mudar() ativa a planilha 2 que no Excel é chamada de Plan2. Agora feche a
janela do Visual Basic. Na Plan1 clique na aba inserir e depois em Formas. Há muitas opções de
formas.

<!--[if !vml]--><!--[endif]-->

Escolha a que desejar e crie uma na planilha:

<!--[if !vml]--><!--[endif]-->

Com o botão direito do mouse clique na forma. Escolha a opção Atribuir macro. Agora escolha a
macro que criamos e clique em Ok.
<!--[if !vml]--><!--[endif]-->

Pronto! Agora na Plan1, quando clicarmos no botão, ele muda para a Plan2.

Para criar o botão na Plan2 ou em outra planilha, repita os mesmos procedimentos e apenas mude
o número da planilha quando criar a macro.

Executando uma macro num horário definido


Publicado em 05 de junho de 2009
por Fábio Vianna

Muitas vezes seria muito bom executar uma macro num tempo pré-determinado ou em intervalos
específicos. Felizmente o Excel fornece um método em VBA que torna isso possível.

Vamos criar uma macro que exiba uma mensagem na tela 5 segundos após o usuário abrir a
planilha.
No editor do VBA (Alt + 11) entre no objeto Esta pasta de trabalho, escolha Workbook e depois
Open, como no exemplo:
<!--[if !vml]-->

<!--[endif]-->

O método Open, ocorre quando o documento do Excel é aberto. Agora dentro desse método insira
os seguintes códigos:
<!--[if !vml]-->

<!--[endif]-->

O método Application.OnTime funciona em determinado tempo. Em nosso exemplo, será somado a


hora atual mais cinco segundos, e então a macro MinhaMacro será executada.

Agora vamos construir a macro MinhaMacro que será executada. Clique em Inserir / Módulo. Dentro
desse módulo insira os seguintes códigos:
<!--[if !vml]-->

<!--[endif]-->

A macro mostrará a mensagem que escrevemos, através da função MsgBox. Para testar isso, salve
o arquivo, feche-o e abra-o novamente. Após cinco segundos a mensagem será mostrada:

Código de cores no VBA


Publicado em 15 de maio de 2009
por Fábio Vianna

No Excel, há duas propriedades referentes as cores que são Color e ColorIndex.

A propriedade Color utiliza as cores no formato RGB (Red, Green, Blue).

A propriedade ColorIndex utiliza as 56 cores pré-definidas do VBA. Veja a tabela abaixo:

<!--[if !vml]--><!--[endif]-->
Vamos aos exemplos. Criaremos dois botões. Um com a propriedade Color e o outro com a
propriedade ColorIndex.

Primeiramente entre no Editor do VBA (Alt + F11). Clique em Inserir / Módulo. No módulo criado
digite o seguinte código:
<!--[if !vml]--><!--[endif]-->

Na primeira Sub (Procedimento) criamos uma macro que pinta o interior da célula que está ativa
(ActiveCell) utilizando a propriedade ColorIndex com a cor pré-definida 48 (Cinza).

Na segunda Sub criamos uma macro que pinta o interior da célula que está ativa utilizando a
propriedade Color com a cor em RGB (255, 0, 0) que é vermelha.

Agora no Excel crie duas formas (aba Inserir/Formas) como no exemplo:

<!--[if !vml]--><!--[endif]-->

Com o botão direito do mouse, clique na forma Pintar 1 e depois em Atribuir Macro. Agora escolha
PintarColorIndex. Repita o mesmo procedimento no outro botão agora escolhendo a macro
PintarRGB. Pronto! Para testar os botões, selecione uma célula qualquer e clique num dos botões.
A célula é pintada.

Criando um botão para mudar de planilha no Excel


2007
Publicado em 08 de maio de 2009
por Fábio Vianna

Neste exemplo vamos criar botão que mude da planilha 1 para a planilha 2. Para isso vamos criar
uma macro. Digite Alt + F11 e surgirá a tela do Visual Basic. Agora clique em Inserir / Módulo:

<!--[if !vml]--><!--[endif]-->
Dentro do módulo criado, digite a seguinte macro:

<!--[if !vml]--><!--[endif]-->
Este macro chamado de Mudar() ativa a planilha 2 que no Excel é chamada de Plan2. Agora feche a
janela do Visual Basic. Na Plan1 clique na aba inserir e depois em Formas. Há muitas opções de
formas.

<!--[if !vml]--><!--[endif]-->

Escolha a que desejar e crie uma na planilha:

<!--[if !vml]--><!--[endif]-->

Com o botão direito do mouse clique na forma. Escolha a opção Atribuir macro. Agora escolha a
macro que criamos e clique em Ok.
<!--[if !vml]--><!--[endif]-->

Pronto! Agora na Plan1, quando clicarmos no botão, ele muda para a Plan2.

Para criar o botão na Plan2 ou em outra planilha, repita os mesmos procedimentos e apenas mude
o número da planilha quando criar a macro.

Removendo o erro #DIV/0!


Publicado em 17 de junho de 2009
por Fábio Vianna

Neste exemplo iremos mostrar como remover o erro #DIV/0! que é causado pela divisão por zero.
Vamos supor que temos a seguinte operação:

<!--[if !vml]--> <!--[endif]-->

Repare que esta operação retorna um erro. Para evitarmos isso insira a seguinte fórmula:

=SE(A1=0;”";B1/A1)
A função SE verifica se A1, que no caso é o denominador, contém o numero zero. Se verdadeira, a
célula fica vazia. Se falsa, a célula faz a divisão. Veja os exemplos:

<!--[if !vml]--> <!--[endif]-->

<!--[if !vml]--> <!--[endif]-->

Comparando planilhas utilizando a formula SE


Publicado em 19 de janeiro de 2009
por Fábio Vianna

Situação:

Temos duas planilhas com a mesma estrutura, mas valores diferentes e queremos
comparar valores entre os dois meses. (Ex. Janeiro.xls e Fevereiro.xls)
Podemos confrontar duas planilhas em arquivos diferentes usando uma nova planilha, e
fórmulas. Veja como:
1.Crie uma nova pasta de trabalho (Ex. Comparação.xls)
2.Na célula A1 da nova planilha criada, insira a seguinte fórmula:
=SE([Janeiro.xls]Plan1!A1<>[Fevereiro.xls]Plan1!A1,"Diferente","Igual")

Resultado:

Na célula A1 da nova planilha criada teremos o valor Diferente caso os valores da


célula A1 das planilhas Janeiro.xls e Fevereiro.xls não coincidirem ou Igual caso
coincidirem.

***Repare que podemos utilizar vários operadores, caso houver a necessidade de


descobrir a diferença entre valores numéricos entre os dois valores, a fórmula
ficaria da seguinte maneira:
=([Janeiro.xls]Plan1!A1-[Fevereiro.xls]Plan1!A1)

Nova função do Excel 2007:SEERRO


Publicado em 21 de janeiro de 2009
por Fábio Vianna
Pesquisando as mudanças do Excel 2007 descobri uma nova função: SEERRO.Vamos
aprender sua funcionalidade e notar que o artigo do dia 21/08/2008 pode ser utilizado em um
método bem mais prático:
Ao fazer uma fórmula errada,nossa célula resulta em um erro,na qual podemos “ocultar” com
a nova função do Excel 2007.Veja:

=SEERRO(C14;”")

Onde: No primeiro parâmetro é selecionada a célula do erro e no segundo o que você


deseja demonstrar(no caso demonstrar a célula em branco).Note o resultado:

Feito!!.Assim você poderá manipular e controlar os erros de suas fórmulas com este novo
recurso do Excel 2007.
Função SE com mais de sete condições!
Publicado em 21 de janeiro de 2009
por Fábio Vianna

Todos os que usam o Excel há um certo tempo, já se depararam com a função


SE, e algum dia já precisaram construí-la com mais de 7 condições, vejamos
neste exemplo como podemos fazer isto.

Vamos supor que você queira que ela analise uma célula que tem nomes de
meses e retorne seus respectivos números de ordem, mas os meses do ano são
12 e a SE oferece análise para 7 condições somente, e agora?

No exemplo a SE vai analisar o que estiver na célula “i1″.

Na célula que você quer o resultado você digita a fórmula abaixo:

=SE(I$1=”JANEIRO”;1;SE(I$1=”FEVEREIRO”;2;SE(I$1=”MARÇO”;3;SE(I$1=”ABR
IL”;4;SE(I$1=”MAIO”;5;SE(I$1=”JUNHO”;6;SE(I$1=”JULHO”;7)))))))

Em outra célula qualquer, que como exemplo usaremos a “iv1″, digite a


fórmula abaixo

=SE(I$1=”AGOSTO”;8;SE(I$1=”SETEMBRO”;9;SE($1=”OUTUBRO”;10;SE(I$1=”
NOVEMBRO”;11;SE(I$1=”DEZEMBRO”;12)))))

Aí você volta à primeira fórmula digitada e acrescenta “$iv$1″ no final, como


está abaixo.

=SE(I$1=”JANEIRO”;1;SE(I$1=”FEVEREIRO”;2;SE(I$1=”MARÇO”;3;SE(I$1=”ABR
IL”;4;SE(I$1=”MAIO”;5;SE(I$1=”JUNHO”;6;SE(I$1=”JULHO”;7;$iv$1)))))))

Com isso podemos entender que podemos colocar quantas condições forem
necessárias.

Protegendo Intervalos de Células com Senha


Publicado em 12 de julho de 2010
por Fábio Vianna
É possível proteger uma área especifica de uma planilha, atribuindo à ela uma senha.
Vejamos o exemplo:
- Temos uma planilha que será alimentada por pessoas diferentes. Nesse caso cada
departamento terá sua senha.

Na guia Revisão vamos clicar em Permitir que os Usuários Editem Intervalos.


Uma janela de edição será exibida, e clicaremos em Novo…

Na janela de Novo Intervalo, definiremos o nome do Intervalo, o intervalo de Células e


a senha para o mesmo.
Ao pressionar o botão OK uma tela de confirmação de senha será apresentada. Basta
repetir a senha, e pressionar OK.

Retornaremos assim para a tela inicial de Edição de Intervalos.

Repita a operação para todos os departamentos, de modo a visualizarmos todos na tela


inicial.
Agora para essa alteração ter efeito, é preciso proteger a planilha. Clique em Proteger
planilha… E a tela de proteção será apresentada.

Todas as exceções de proteção devem ser marcadas. Digite uma senha e clique em OK.
Confirme a senha e clique em OK.

Ao tentar editar uma célula dos intervalos protegido, uma janela de requisição de senha
aparecerá.

Ao colocar a senha errada, uma janela informará a impossibilidade de prosseguir.

Ao colocar a senha correta, as células do intervalo poderão ser editadas.

VBA:Fechando sua planilha conforme critérios de


datas
Publicado em 06 de janeiro de 2010
por Sidney Moraes

Ontem um internauta me perguntou uma dúvida interessante:Ele queria que após uma data
estipulada não seria mais possível abrir a planilha.

Existe a possibilidade de fazer por VBA uma proteção por senha,mas decidi fazer fechando
diretamente a planilha e caso a data fosse menor uma mensagem de boas-vindas aparecesse na
tela.Inicialmente precisamos na planilha criar uma aba com a data do sistema operacional(utilizando
a função =HOJE() )e com a data desejada de bloqueio.Veja:

Agora acessando o VBA(Alt+F11),vamos inserir um modulo(clicando em inserir módulo) e colar o


seguinte codigo abaixo:

Sub protege()
If Plan1.Cells(1, 2) >= Plan1.Cells(2, 2) Then
‘Esta linha compara as duas celulas que contem as datas e se
‘for maior ou igual executa a linha abaixo
Application.ActiveWorkbook.Save
Application.Workbooks.Close
‘Salva e fecha a planilha automaticamente
Else
‘caso contrario o usuario pode abrir e usar a planilha normalmente
MsgBox “Bem vindo!,voce poderá usar a planilha”
End If
End Sub

Após colar note que as linhas em verdes são comentários que fiz para melhor entendimento do
código

*Nesta linha de código: If Plan1.Cells(1, 2) >= Plan1.Cells(2, 2) Then, foi utilizado a planilha 1 com
as celulas B1 e B2 para as datas conforme a imagem acima,caso queira altere com o numero da
planilha e da celula nesta linha.

Após vamos informar o VBA que ao abrir o Excel ele ja execute a macro.Cole o codigo abaixo no
evento “esta pasta de trabalho”.Logo após existe uma figura explicativa:

Private Sub Workbook_Open()


Call protege
End Sub

Verifique se suas macros estão habilitas,salve e abra novamente sua planilha para ver o
resultado.Caso queira mudar a data de bloqueio para ver a mensagem de boas vindas,desabilite as
macros,mude a data de bloqueio,salve e depois reabilite as macros.

Vale a pena testar!..VBA puro!


VBA:Fechando sua planilha conforme critérios de
datas-Parte 2
Publicado em 07 de janeiro de 2010
por Sidney Moraes

Vamos complementar nossa dica de ontem com uma sugestão do internauta.Veja:

Wellerson — 07/01/2010 @ 08:38 am

Muito legal. Seria interessante se quando a data atual fosse maior que a data de bloqueio exibisse
uma mensagem, ex.: “Data da planilha expirou” e clicando em “OK” a planilha fecha.

Para isto basta substituir o código no módulo da dica anterior para este:

Sub protege()
If Plan2.Cells(1, 2) >= Plan2.Cells(2, 2) Then
MsgBox “Data da planilha expirou!”, vbCritical
Application.ActiveWorkbook.Save
Application.Workbooks.Close
Else
MsgBox “Bem vindo!,voce poderá usar a planilha”
End If
End Sub
Onde foi apenas acrescentado uma linha com a mensagem em formato critical:

MsgBox “Data da planilha expirou!”, vbCritical

Veja o resultado:

Preenchendo células com o efeito Gradiente


Publicado em 13 de julho de 2009
por Fábio Vianna

Com o Excel 2007 você pode adicionar um efeito de duas cores em sua planilha usando o recurso
de preenchimento em gradiente do Excel. O efeito em gradiente é uma mistura de duas cores,
sendo que uma cor gradualmente vai mudando para outra cor:
<!--[if !vml]-->

Vamos ver como se faz isso. Primeiro selecione as células que você deseja formatar. Na aba Início,
clique na setinha do canto inferior direito do grupo Fonte:

<!--[if !vml]--> <!--[endif]-->

Surgirá a janela Formatar Células. Na aba Preenchimento clique na opção Efeitos de


Preenchimento. A janela efeitos de Preenchimento surgirá. Repare que existem muitas opções de
Sombreamento. Escolha as duas cores que deseja aplicar o efeito Gradiente, escolha uma das
variações e clique em Ok:

<!--[if !vml]--> <!--


[endif]-->
Pronto! Suas células foram formatadas. Lembre-se de que você pode sempre editá-las da maneira
que quiser:

<!--[if !vml]--> <!--[endif]-->

Ocultando uma planilha do modo “Very Hidden”


Publicado em 29 de abril de 2009
por Fábio Vianna

Você provavelmente já quis ocultar uma planilha para esconder alguns dados. O modo mais fácil é
clicar com o botão direito do mouse onde aparece o nome da planilha (na parte inferior da pasta de
trabalho) e então Ocultar. Desta maneira fica fácil de mostrar novamente a planilha oculta (apenas
clique no mesmo lugar e escolha Reexibir).

Se você gostaria de tornar mais difícil o modo de mostrar uma planilha oculta deve ocultá-la em
modo Very Hidden. Para isso, na aba Desenvolvedor clique em propriedades:

<!--[if !vml]--><!--[endif]-->

Surgirá a seguinte janela:

<!--[if !vml]--><!--[endif]-->

Na opção Visible, escolha “2 – xlVeryHidden”. Pronto, agora a planilha está oculta.

Você perceberá que da maneira tradicional, não há como mostrá-la novamente.


Para reexibir a planilha, devemos entrar no Visual Basic Editor (Alt + F11). Na janela Projeto,
seleciona a planilha que está oculta, nesse caso Plan1. Surgirá logo em baixo a janela
Propriedades:

<!--[if !vml]--><!--[endif]-->

Repita o mesmo procedimento, só que agora selecione a opção “-1 – xlSheetVisible”. Pronto! A
planilha agora está visível.

Função Texto
Publicado em 21 de janeiro de 2009
por Fábio Vianna

Podemos formatar uma célula utilizando uma função, a Função Texto. Veja como:

Sintaxe

=TEXTO(valor;format_texto)

Valor – é um valor numérico, ou uma referência para um valor numérico.

Format_texto - é um formato de número na forma de texto contido na caixa Categoria da guia


Número na caixa de diálogo Formatar células.

<!--[if !vml]--> <!--[endif]-->

Exemplo:
Para transformar o número 5 em 005 poderíamos usar a função:

=TEXTO(5;”000″)

Separando as Palavras
Publicado em 23 de julho de 2010
por Fábio Vianna

Um leitor nosso, mais uma vez mandou um desafio, separar palavras.

Dessa vez temos uma ferramenta que pode nos ajudar.

Temos a seguinte planilha.

Selecione a coluna clicando na letra A

No menu Dados clique em Texto para Colunas


Vamos usar a separação por tipo delimitado. Pois o que determina que seja separado é a existência
de espaços.

Clique em avançar.

Escolha a opção de delimitador: Espaço


Clique em Avançar.

Determine o inicio da separação partindo da célula B1 para não perder os dados originais.

Clique em Concluir.
Inserir linha em branco
Publicado em 22 de julho de 2010
por Fábio Vianna
(enviado por Paulo Caetano)
Um de nossos leitores deixou um desafio, “inserir linhas em
branco entre linhas preenchidas, sem o uso de macro”. Segue
a solução que ele enviou.
Obrigada Paulo Caetano!!!!

Temos uma planilha com alguns dados.


Vamos inserir uma coluna antes da coluna A (ou usar a coluna
B).

Clique sobre a letra A com o botão direito. E clique sobre


Inserir.
Na nova coluna A. clique no A1 e coloque o numero 1. Na
célula A2 coloque 3, (3 porque queremos inserir uma linha em
branco, então somo 1 ao valor que viria abaixo, se quisesse
inserir 5 linhas no lugar de 3 colocaria 6).

Depois de numerar vamos a última célula preenchida e a partir


da célula seguinte vamos colocar o número 1 e preencher com
a seqüência até a 279 (soma do número da última linha
preenchida +139 que a quantidade de dados que temos).
Com os valores lançado, vamos classificar a coluna A. Clique
na guia Dados – Classificar.

Em classificar por, escolha a coluna A, e pressione OK.


Ao classificar, o Excel coloca os valores em ordem, inclusive as
linhas que estavam em branco.

Agora basta excluir a coluna com os números.


“Linhas inseridas”!!!
Planilhas em Ordem Alfabética
Publicado em 15 de julho de 2010
por Fábio Vianna
Nesse exemplo temos um arquivo com dez planilhas.

Salvaremos o arquivo como: Ordem_Alfabetica lembrando de


salvar como Pasta de Trabalho Habilitada para Macro do Excel.
Precisamos acessar o Visual Basic Editor, para digitarmos o código
da macro, que irá relacionar as planilhas. Para tanto podemos
pressionar as teclas Alt + F11, ou usar o comando

A janela do VBA será aberta.


Vamos inserir um módulo e nomeá-lo.

Digitaremos o seguinte código:

Sub alfabetica()

‘Cria Variáveis
Dim Primeira As Integer
Dim Ultima As Integer
Dim Classificar As Boolean
Dim Contador As Integer
Dim Contador2 As Integer

‘Atribui valor a variável


Classificar = False
‘irá colocar apenas as planilhas selecionadas
‘caso só uma planilha estiver selecionada
If ActiveWindow.SelectedSheets.Count = 1 Then
Primeira = 1

‘conta as planilhas
Ultima = Worksheets.Count
Else
With ActiveWindow.SelectedSheets
For Contador = 2 To .Count
If .Item(Contador – 1).Index <> .Item(Contador).Index – 1 Then
MsgBox “Só se podem ordenar planilhas adjacentes”
Exit Sub
End If
Next Contador
Primeira = .Item(1).Index
Ultima = .Item(.Count).Index
End With
End If
For Contador2 = Primeira To Ultima
For Contador = Contador2 To Ultima
If Classificar = True Then

‘Verifica o primeiro caracter de cada planilha e ordena


If UCase(Worksheets(Contador).Name) >
UCase(Worksheets(Contador2).Name) Then
Worksheets(Contador).Move Before:=Worksheets(Contador2)
End If
Else
If UCase(Worksheets(Contador).Name) <
UCase(Worksheets(Contador2).Name) Then
Worksheets(Contador).Move Before:=Worksheets(Contador2)
End If
End If
Next Contador
Next Contador2

End Sub

Feche o Visual Basic Editor.

Na planilha vamos inserir um botão


Clique sobre o botão e depois clique na planilha.
Ao clica na planilha uma janela para atribuição de macro surgirá.
Escolha a macro relacionarplanilhas.

Salve o arquivo.
Clique no botão para fazer o teste.
Pulando uma linha em uma MsgBox
Publicado em 12 de janeiro de 2009
por Fábio Vianna

Para pular linha dentro de uma Message Box utilizamos: Chr(13)

Desta forma:

E temos o resultado:

Caso você tenha uma dica ou truque, envie para nós:


contato@dicasdeexcel.com.br
Por: Douglas Hideo

Resultado
Calcular a Diferença de dias – Office 2010
Publicado em 19 de julho de 2010
por Fábio Vianna
O problema é calcular a diferença de dias entre duas datas,
considerando que temos feriados, e finais de semana.
Imagine que nesse caso especifico, os sábados são considerados dias
úteis.

- Temos a seguinte planilha:

A diferença de dias entre as duas datas: 01/01/2010 e 31/12/2010,


pode ser feita com o calculo simples de subtração.

Para visualizar o dado correto, é necessário formatar a célula para


número do tipo geral.
A função NETWORKDAYS, nos permite calcular a diferença entre as
datas sem os finais de semana, considerando finais de semana:
sábado e domingo.
Podemos acrescentar nessa função os feriados. Para facilitar a criação
nomearei o intervalo de feriados.
Para isso, selecionaremos o intervalo. E na caixa de nome
digitaremos: feriados.

Não se esqueça de pressionar o enter para nomear o intervalo.


Isto feito vamos editar a função, dê um duplo clique sobre a célula e
faça a seguinte alteração.
Para calcular a diferença entre as datas considerando que o sábado é
dia útil, ou que os dias de descanso são outros que não exatamente
sábado e domingo, temos que usar a função NETWORKDAYS.INTL,
que nos permitirá escolher os dias de descanso.

Montaremos a função da seguinte forma:

A data da última alteração de sua planilha


Publicado em 21 de janeiro de 2009
por Fábio Vianna
R.: O Excel não tem uma função para com que apareça na planilha a data do último
salvamento, mas com o evento Workbook_BeforeSave, podemos fazer isso, aqui
vai o código:

Cole o código em Esta_Pasta_de_Trabalho:

Como funciona:
Essa rotina será chamada sempre que for salva e guardará na célula A1 da Plan1 a
fórmula =NOW() ou =Agora().

VBA: Registrando DLL e OCX no Windows Vista


Publicado em 12 de janeiro de 2009
por Fábio Vianna
Depois de ter salvo o arquivo pasta correta, vá para a pasta c:\Windows\System32
e abra o aplicativo Cmd.exe como administrador, clicando com o botão direito,
como na figura:

Na janela que abrir, digite regsvr32.exe + o caminho para o arquivo que você
deseja registrar, foi usado neste exemplo o arquivo fm20.dll:

Após a conclusão, será exibida a seguinte mensagem:

Exiba uma mensagem no Excel conforme a hora


do dia!
Publicado em 21 de janeiro de 2009
por Fábio Vianna

Vamos elaborar uma aplicação onde ao abrir a planilha em questão é exibida


uma mensagem de “bom dia”, “boa tarde” ou “boa noite”e o nome do usuário
conforme o horário do sistema operacional. Abra a janela do VBA teclando Ctrl
+ F11. No VBA clique em Inserir/Módulo e digite o seguinte código:

Sub mensagens()
Dim MinhaHora
MinhaHora = Hour(Now)
Select Case MinhaHora
Case 1 To 5
MsgBox “Bom Noite” & Application.UserName
Case 6 To 11
MsgBox “Bom Dia ” & Application.UserName
Case 12 To 17
MsgBox “Bom Tarde ” & Application.UserName
Case 18 To 24
MsgBox “Bom Noite ” & Application.UserName
End Select
End Sub

Com o comando Application.UserName é extraido o nome cadastrado no Excel.


Agora na opção “EstaPasta_de_trabalho” (na barra Projeto, bem acima da caixa
Propriedades) no evento Workbook_Open digite:

call mensagens

Formatação Condicional de Barras – Excel 2010


Publicado em 13 de julho de 2010
por Fábio Vianna
Temos a seguinte planilha:
Vamos criar uma formatação condicional, que preencha a
célula de acordo como o valor nela expresso.

Selecione a área em que a formatação será aplicada.


Selecione de B2 até B13.

Com o comando:
Home – Conditional Fomatting (Inicio – Formatação
Condicional)
Escolha a opção Data Bars (Barra de Dados)
Em seguida escolha uma das opções.

Na versão 2010, quando o intervalo possui números


negativos, a formatação parte do centro da célula, destacando
assim positivos de negativo.
Observe o resultado.
Trabalhando com Horas
Publicado em 20 de julho de 2010
por Fábio Vianna
Criaremos uma planilha de calculo de horas trabalhadas e valor a
receber.
Primeiro precisamos calcular a quantidade de horas trabalhadas.
Considerando a parada teremos que somar os dois períodos
trabalhados.

É preciso utilizar os parentes para priorizar cálculos.


Arraste a lógica até a linha 22.
Para saber o total de horas trabalhadas, basta utilizarmos a função
soma.

Ao finalizarmos a função ele retorna o valor 10:35, pelo fato de


calcular como relógio, sempre que chegar as 23:59 ele zera e começa
a contar novamente. É preciso fazer uma formatação onde ele aceite
mais de 24 horas.
Selecione a célula a ser formatada, em formatação de número
escolha a opção 37:30:55.

Agora vamos calcular o valor a receber. Para facilitar a criação da


fórmula vamos nomear a célula de valor hora.

Selecione a célula de valor, e na caixa de nome especifique um nome


para a célula, não se esqueça de pressionar enter.

Já com a célula nomeada: criaremos a fórmula.


Ao criarmos a fórmula de multiplicação de valor moeda por valor em
hora, o Excel automaticamente interpreta que um dos dados é
equivocado, e corrige, fazendo uma divisão.
Ao acreditar que o valor por hora (expresso em moeda) é um valor
equivocado, o valor hora é dividido por 24, sendo assim convertido
para horas.

Ou seja, o Excel pega o valor R$ 25 Reais, e divide por 24 (numero


de horas do dia), resultando 1,04166666666667, ao multiplicar por 9
retornará o valor: R$ 9,38.

É preciso reverter o calculo feito pelo Excel. Ou seja, multiplicar por


24.
O cálculo ficará da seguinte forma:

Retornando o valor correto.


Na célula G23, faremos o calculo da soma.
Inserindo um GIF animado no Excel
Publicado em 11 de julho de 2010
por Sidney Moraes

Boa tarde Excelistas como vão?

Nesta semana recebi um email de um internauta com a seguinte pergunta:

Como eu consigo adicionar uma imagem em GIF no excel?

Rapidamente eu corri para o menu INSERIR/IMAGENS e nada..a imagem não se mexia,fui em


INSERIR/OBJETO e nada…ela também fica imóvel.

Portanto admiti que não sabia de tal informação(eu também não sei de tudo rss) e recorri ao nosso
amigo Google.Achei um post interessante que pode ajudar muita gente a inserir as famosas
animações em suas planilhas:

Inserindo um GIF animado no Excel

O DicasdeExcel também é procura e troca de informações =D

Fonte: Kioskea.net
Calcular diferença entre horas, com resultado em
minutos
Publicado em 05 de agosto de 2009
por Fábio Vianna

Se pretendemos realizar um cálculo para obter a diferença entre dois horários com o resultado em
minutos, podemos utilizar, por exemplo, os seguintes métodos:

Subtrair os horários e multiplicando por 24 e 60:

<!--[if !vml]-->

Subtrair os horários e formatar o resultado como minutos:

<!--[if !vml]-->
E se a hora final for inferior à hora inicial, podemos utilizar a seguinte fórmula:

<!--[if !vml]--> <!--


[endif]-->

Somando horas corretamente no Excel


Publicado em 18 de janeiro de 2010
por Sidney Moraes

Vamos esclarecer a dúvida de um internauta em relaçao a horas no excel:

Quando somo diversas h0ras em um intervalo,e ultrapassa de um dia(24 horas) ele zera e começa
contando do zero…como procedo para isto não acontecer?

Vamos lá..é muito simples esta configuração:

Por padrão quando trabalhamos com horas o Excel vem formatado para hh:mm.Quando somamos
horas e queremos o total “cheio” sem zerar com o fim das 24 horas basta na celula do calculo clicar
o botão direito e ir em formatar células e aplicar o formato 37:30:55.Veja:

A gora suas horas sempre serão acumulativas!

Trabalhando com horas negativas no Excel 2007


Publicado em 11 de janeiro de 2010
por Sidney Moraes

Ontem um internauta me fez a seguinte pergunta:

Como faço para habilitar a opção de trabalhar com horas negativas no Excel 2007?

Veja como é fácil:

Clique na famosa “bolinha laranja” do canto esquerdo superior do Excel,logo em seguida em


opções do Excel e em avançado,habilitando a opção trabalha com sistema de data 1904.Veja:
Note o resultado:

Boa noite! =)

Planilhas em Ordem Alfabética


Publicado em 15 de julho de 2010
por Fábio Vianna
Nesse exemplo temos um arquivo com dez planilhas.

Salvaremos o arquivo como: Ordem_Alfabetica lembrando de


salvar como Pasta de Trabalho Habilitada para Macro do Excel.
Precisamos acessar o Visual Basic Editor, para digitarmos o código
da macro, que irá relacionar as planilhas. Para tanto podemos
pressionar as teclas Alt + F11, ou usar o comando

A janela do VBA será aberta.


Vamos inserir um módulo e nomeá-lo.

Digitaremos o seguinte código:

Sub alfabetica()

‘Cria Variáveis
Dim Primeira As Integer
Dim Ultima As Integer
Dim Classificar As Boolean
Dim Contador As Integer
Dim Contador2 As Integer

‘Atribui valor a variável


Classificar = False
‘irá colocar apenas as planilhas selecionadas
‘caso só uma planilha estiver selecionada
If ActiveWindow.SelectedSheets.Count = 1 Then
Primeira = 1

‘conta as planilhas
Ultima = Worksheets.Count
Else
With ActiveWindow.SelectedSheets
For Contador = 2 To .Count
If .Item(Contador – 1).Index <> .Item(Contador).Index – 1 Then
MsgBox “Só se podem ordenar planilhas adjacentes”
Exit Sub
End If
Next Contador
Primeira = .Item(1).Index
Ultima = .Item(.Count).Index
End With
End If
For Contador2 = Primeira To Ultima
For Contador = Contador2 To Ultima
If Classificar = True Then

‘Verifica o primeiro caracter de cada planilha e ordena


If UCase(Worksheets(Contador).Name) >
UCase(Worksheets(Contador2).Name) Then
Worksheets(Contador).Move Before:=Worksheets(Contador2)
End If
Else
If UCase(Worksheets(Contador).Name) <
UCase(Worksheets(Contador2).Name) Then
Worksheets(Contador).Move Before:=Worksheets(Contador2)
End If
End If
Next Contador
Next Contador2

End Sub

Feche o Visual Basic Editor.

Na planilha vamos inserir um botão


Clique sobre o botão e depois clique na planilha.
Ao clica na planilha uma janela para atribuição de macro surgirá.
Escolha a macro relacionarplanilhas.

Salve o arquivo.
Clique no botão para fazer o teste.
uma dica do Internauta José Eduardo Chamon muito interessante,e claro irei postar para
vocês..Veja:

OBJETIVO
Neste exemplo, vamos supor que você tenha diversas planilhas de trabalho,
dentro de um único arquivo Excel e que você precise somar todo o
montante dos valores que encontram-se em uma mesma célula mas que
estão nas diferentes planilhas.
EXEMPLO
Na Planilha, crie as seguintes pastas: Plan1, < , Plan2, Plan3, Plan4, Plan5,
> , Plan6

Digite os seguintes valores na Plan1 conforme exemplo abaixo:


Note que todas as folhas de dados contém valores na célula B1.
Na Plan1 na célula A1 coloque a seguinte instrução =SOMA(‘<:>’!B1)
Você somou todos os valores da célula B1 contida nas folhas de dados que
estão entre os sinais < e >.

Adicionando o valor do calendário em uma célula


de sua planilha
Publicado em 25 de abril de 2010
por Sidney Moraes

Boa noite Excelistas!

A dica de hoje é baseada em uma dúvida de um internauta.Veja:

Tenho uma dúvida a solucionar.


Inseri um calendário na planilha do escritório, porém não consigo vincular a data do calendário a
uma célula. Há como realizar este procedimento?
No aguardo.

Depois de criarmos o calendário em sua planilha (caso nao saibam criar vejam esta dica antes de
prosseguir: http://dicasdeexcel.com.br/site/2009/01/inserindo-um-calendario-no-excel/)

Depois de criado seu calendário(pode ser o date picker ou o calendario 12.0,os dois fazem a mesma
coisa) basta clicar no esquadro laranja (modo de design) e com o direito do mouse escolher a opção
propriedades
Basta procurar a propriedade Linked Cell e adicionar a célula que receberá a data do calendário:

*Caso queira inserir em outra aba de sua planilha referencie do seguinte modo:

=Nomedaplanilha!A1

Note o resultado:

Aplique-a em seus projetos!


alguns “espertinhos” usam de nossas idéias e projetos para ganhar a fama.Aprenda agora a criar
um autor e definir identificações para suas planilhas.Assim toda vez ao abrir sua planilha aparecerá
o mesmo.Veja:

No menu do Office(a bolinha laranja) clique em personalizar e em seguida propriedades:

Na tela que surgir insira os dados do autor,status entre diversas outras opções para classificar sua
planilha.Para alterar outras cofigurações vá na aba superior Propriedades do documento e altere
estas configurações em nível avançado.Veja:

Pronto! Agora seus projetos estao nomeados e identificados.Tenha o real reconhecimento de suas
criações

Você também pode gostar