Como calcular idade no Excel

Aprenda a programar sua planilha para calcular automaticamente quantos anos as pessoas têm, a partir de sua data de nascimento


Passo 1. Na planilha do Excel, crie uma coluna programada com a fórmula “HOJE” para atualizar automaticamente a data atual em futuras operações. Para isso, selecione a célula e digite a fórmula “=HOJE()”, exibindo a data assim que ativada com a tecla “Enter”;



Passo 2. Em seguida, replique o comando programado para as demais linhas desta coluna. Clique no ponto no canto inferior direito da célula com a fórmula “HOJE” e arraste-o para baixo até o limite desejado;



Passo 3. Para criar a programação que calcula datas, é preciso especificar três variáveis da fórmula “DATADIF”: a data inicial, a data atual e unidade do cálculo (que pode ser em anos completos, “y”, meses completos, “m”, ou dias, “d”). Neste caso, utilizou-se a fórmula “=DATADIF(B2;C2;”y”)”, com “B2” e “C2” indicando as células nas coluna de data inicial e de atual, respectivamente, enquanto “y” especificou a resposta em número de anos;



Passo 4. Para reproduzir a fórmula nas linhas abaixo, clique com o botão esquerdo do mouse no ponto no canto inferior direito da célula com a fórmula “DATADIF” e arraste-o para até a linha desejada;



Passo 5. É possível combinar a resposta da fórmula DATADIF com outras variáveis, dentre elas as outras três mais sofisticadas: diferença de dias, ignorando anos e meses, “md”, diferença de meses, ignorando dias e anos, “ym” ou diferença de dias, ignorando anos “yd”. Para isso, lembre-se de inserir “&” para especificar parâmetros da resposta e novas fórmulas;



Fonte: techtudo

Usar objetos 3D em planilhas

Se você é um usuário que possui o Office 2016 ou alguma versão posterior, vai gostar deste post.

Recentemente, o Excel incorporou um recurso que pode ser útil para muita gente: agora, é possível inserir objetos em 3D nas planilhas produzidas no programa.

A primeira versão do Excel foi lançada na década de 80, e era bem básica - e um dos recursos disponíveis era o das formas. Eram objetos simples, como setas indicativas, balões de pensamento, rostos sorridentes e outros desenhos que podiam ser colocadas nos documentos. Assim, essa novidade pode ser vista como uma evolução delas, que agora se tornaram objetos de três dimensões e personalizáveis.

O mais bacana dos objetos 3D é que eles podem ser movidos pelo usuário em qualquer direção e ângulo, o que com certeza vai te ajudar a ver cada detalhe e ângulo do objeto que está sendo utilizado. Pense numa peça de uma máquina ou um carro, por exemplo: não seria bem melhor se fosse possível visualizar o objeto em todos os ângulos possíveis?

E aí, curtiu a novidade? Confira no tutorial abaixo como começar a usar objetos 3D no Excel do seu computador:
  • Abra o Excel.
  • No menu da parte superior da tela, vá na guia “Inserir”. Você verá alguns recursos listados.
  • Em seguida, clique em “Modelos 3D”.
  • Agora, é só escolher se você vai utilizar um arquivo do seu próprio computador ou se irá buscá-lo online.
Caso você escolha procurar algum arquivo bacana online, você verá uma janela com os modelos que estão disponíveis atualmente. Depois de selecionar o modelo que você irá usar, é possível utilizar os controles da tela para deixá-lo no melhor ângulo ou até mesmo colocá-lo atrás das células da planilha.

Por enquanto, só há um repositório com as imagens, mas é importante lembrar que o recurso é bem recente. Assim, é bem provável que haverá mais modelos sendo adicionados futuramente. O recurso de modelos 3D também está disponível para outros aplicativos do pacote Office, como o Powerpoint.

Para utilizar os modelos 3D, é preciso ter a versão 2016 dos programas ou posterior.


Fonte: TECMUNDO

Como adicionar fórmulas no Excel pelo celular ou tablet

O Excel, aplicativo de planilha da Microsoft, possui versão para dispositivos móveis, como celulares e tablets Android, iPhone e iPad (iOS), além do Windows 10 Mobile. Assim como no computador, o usuário pode adicionar e usar fórmulas em planilhas criadas ou editadas no telefone. O recurso pode ser útil para fazer ajustes rápidos de última hora quando não se tem um computador à disposição.

Se você não sabe como inserir e usar fórmulas no Excel pelo celular, confira as dicas e aprenda. O passo a passo foi feito em um iPhone (iOS), mas o procedimento é o mesmo em aparelhos com Android ou Windows.


Passo 1. Abra a planilha no Excel e posicione o cursor sobre a célula que você quer adicionar a fórmula. Em seguida, toque sobre o botão “ƒx”, no canto superior esquerdo da tela.




Passo 2. Localize a fórmula que você quer usar e toque sobre ela. Se você souber o comando para a fórmula desejada, é possível digitá-lo para encontrar rapidamente a fórmula.




Passo 3. Adicione os argumentos à fórmula digitando os valores ou tocando sobre as células. Por fim, toque sobre o botão com o tique verde, no canto superior direito da tela, para calcular o resultado.




Com essa dica simples, você poderá adicionar e usar fórmulas no Excel pelo seu celular ou tablet.

Fonte: TechTudo

Colocar em Maiúsculas as Primeiras Letras de Todas as Palavras (Capitalize) - VBA

Function Captalize(X)

Dim Temp$, C$, OldC$, i As Integer

If IsNull(X) Then
Exit Function
Else
Let Temp$ = CStr(LCase(X))

Let OldC$ = " "
For i = 1 To Len(Temp$)
Let C$ = Mid$(Temp$, i, 1)
If C$ >= "a" And C$ <= "z" And (OldC$ < "a" Or OldC$ > "z") Then
Mid$(Temp$, i, 1) = UCase$(C$)
End If
Let OldC$ = C$
Next i
Let Proper = Temp$
End If
End Function

Habilitar execução de macros no Excel 2010

Clique no Botão do Microsoft Office e depois em Opções do Excel.
Clique em Central de Confiabilidade, clique em Configurações da Central de Confiabilidade e depois em Configurações de Macro.
Clique nas opções desejadas:
Desabilitar todas as macros sem notificação Clique nesta opção se não confiar em macros. Todas as macros existentes nos documentos e alertas de segurança sobre macros serão desabilitadas. Se houver documentos com macros não assinadas e não confiáveis, você poderá transferi-los para um local confiável. Os documentos mantidos nesse local poderão ser executados sem precisarem ser verificados pelo sistema de segurança da Central de Confiabilidade.
Desabilitar todas as macros com notificação Esta é a configuração padrão. Clique nesta opção se desejar desabilitar as macros e receber alertas de segurança caso seja detectada alguma macro. Dessa forma, você poderá decidir quando habilitar essas macros individualmente.
Desabilitar todas as macros, exceto as digitalmente assinadas Esta configuração é igual à opção Desabilitar todas as macros com notificação. A única diferença é que, se a macro for assinada digitalmente por um editor confiável, ela poderá ser executada se você confiar no editor; caso contrário, você será notificado. Portanto, você pode optar entre habilitar essas macros assinadas ou confiar no editor. Todas as macros não assinadas são desabilitadas sem notificação.
Habilitar todas as macros (não recomendável; códigos possivelmente perigosos podem ser executados) Clique nesta opção para permitir a execução de todas as macros. Esta configuração não é recomendável, pois torna o computador vulnerável a códigos possivelmente mal-intencionados.
Confiar no acesso ao modelo de objeto do projeto do VBA Essa configuração serve para desenvolvedores e é usada para bloquear deliberadamente ou para permitir o acesso programático ao modelo de objetos do VBA a partir de qualquer cliente de automação. Em outras palavras, ela fornece uma opção de segurança para o código que é gravado para automatizar um programa do Office e manipular programaticamente o ambiente e o modelo de objetos do Microsoft VBA (Visual Basic for Applications). Trata-se de uma configuração por usuário e aplicativo que nega o acesso por padrão. Essa opção de segurança torna mais difícil para programas não autorizados criarem um código de auto-replicação que possa prejudicar os sistemas dos usuários finais. Para que qualquer cliente de automação possa acessar o modelo de objetos do VBA programaticamente, o usuário que executa o código deve conceder acesso explicitamente. Para ativar o acesso, marque a caixa de diálogo.

VBA - Criando Menus Personalizados

Sub criar_menu()
'Declarando as variáveis
Dim MenuObject As CommandBarPopup
Dim MenuItem As Object
Dim SubMenuItem As Object

'Atribui o valor da variável
Set MenuObject = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=10, temporary:=True)
MenuObject.Caption = "Meu Menu Expert"
Set MenuItem = MenuObject.Controls.Add(Type:=msoControlButton)
'Nome do botão
MenuItem.Caption = "Cliente"
'Separação por grupo
MenuItem.BeginGroup = True
'Nome da macro que irá executar
MenuItem.OnAction = "Cliente1"
'Ícone que aparecerá no botão
MenuItem.FaceId = "18"
End Sub

Sub Cliente1()
MsgBox "Bem vindos ao Site que Ama o Excel"
End Sub

Criar Botões em VBA

Insira este código em um novo módulo e tecle F5

Sub Criar_Botões()

Dim botão As Button
Dim bot As Range

ActiveSheet.Buttons.Delete

For i = 1 To 5
Set bot = ActiveSheet.Range(Cells(i, 5), Cells(i, 5))
Set botão = _
ActiveSheet.Buttons.Add(bot.Left, bot.Top, bot.Width, bot.Height)

With botão
.OnAction = "Rotina" & i
.Caption = "Rotina " & i
.Name = "Nome" & i
End With

Next i

End Sub

Tratar Erros em VBA

A Instrução On Error

Para fazer o tratamento de erros em vba utilizamos a instrução On Error, esta instrução tem diferentes formatos e opções, vamos passar uma breve explicação de como funciona.

On Error GoTo Line

Ativa o tratamento de erro que inicia na linha especifícada pelo argumento line.

On Error Resume Next

Esta instrução é utilizada para ignorar erros durante a execução.

On Error GoTo 0

Desativa qualque manipulador de erro ativo no procedimento.


Function tratarErro()
'Declaração da variável
Dim x
'Cria o tratamento do erro
On Error GoTo erro
'Chama a variável criando a função
x = 10 / 0
'Finaliza o erro
Exit Function
'Demonstra o erro
erro:
MsgBox "Erro na divisão por " & Erl
End Function


Para acompanhar a depuração aperte a tecla F8.
O Microsoft Excel (nome completo Microsoft Office Excel) é um programa de planilhas eletronicas escrito e produzido pela Microsoft para computadores usando o sistema operacional Microsoft Windows. Seus recursos incluem uma interface intuitiva e capacitadas ferramentas de cálculo e de construção de gráficos que, juntamente com marketing agressivo, tornaram o Excel um dos mais populares aplicativos de computador até hoje. É por grande vantagem o aplicativo de planilha eletrônica dominante disponível para essas plataformas e tem o sido desde a versão 5 em 1993 e da sua inclusão como parte do Microsoft Office.

Um Pouco de História
A Microsoft originalmente comercializou um programa de planilha eletrônica chamado Multiplan em 1982, o qual era muito popular em sistemasCP/M , mas em sistemas MS-DOS perdia em popularidade para o Lotus 1-2-3 . Isso levou ao desenvolvimento de um novo programa chamado Excel que começou com a intenção de, nas palavras de Doug Klunder, "fazer tudo que o 1-2-3 faz e fazer melhor". A primeira versão do Excel foi lançada para o Mac em 1985 e a primeira versão para Windows (numerada 2.0 para se alinhar com o Mac e distribuída com um tempo de execução do ambiente Windows) foi lançada em novembro de 1987 . A Lotus foi lenta em trazer o 1-2-3 ao Windows e por volta de 1988 o Excel havia começado a passar o 1-2-3 em vendas e ajudou a Microsoft a alcançar a posição de liderança no desenvolvimento de software para o PC. Essa conquista, destronando o rei do mundo do software, solidificou a Microsoft como um competidor válido e mostrou seu futuro de desenvolvimento de software gráfico. A Microsoft aumentou sua vantagem com lançamento regular de novas versões, aproximadamente a cada dois anos. A versão atual para a plataforma Windows é o Excel 12, também chamado de Microsoft Excel 2007 . A versão atual para a plataforma Mac OS X é o Microsoft Excel 2004.

No começo da sua vida o Excel se tornou alvo de um processo judicial de marca registrada por outra empresa que já vendia um pacote de software chamado "Excel" na indústria financeira. Como resultado da disputa a Microsoft foi solicitada a se referir ao programa como "Microsoft Excel" em todas as press releases formais e documentos legais. Contudo, com o passar do tempo essa prática foi sendo ignorada, e a Microsoft resolveu a questão quando ela comprou a marca registrada reservada ao outro programa. Ela também encorajou o uso das letras XL como abreviação para o programa; apesar dessa prática não ser mais comum, o icone do programa no Windows ainda é formado por uma combinação estilizada das duas letras, e a extensão do arquivo do formato padrão do Excel até a versão 11 (Excel 2003) é .xls, sendo .xlsx a partir da versão 12, acompanhando a mudança nos formatos de arquivo dos aplicativos do Microsoft Office.

O Excel oferece muitos ajustes na interface ao usuário em relação às mais primitivas planilhas eletrônicas; entretanto, a essência continua a mesma da planilha eletrônica original, as células são organizadas em linhas e colunas, e contêm dados ou fórmulas com referências relativas ou absolutas às outras células.

O Excel foi o primeiro programa de seu tipo a permitir ao usuário definir a aparência das planilhas (fontes, atributos de caractere e aparência da célula). Também introduziu recomputação inteligente de células, na qual apenas céluas dependentes da célula a ser modificada são atualizadas (programas anteriores recomputavam tudo o tempo todo ou aguardavam um comando específico do usuário). O Excel tem capacidades avançadas de construção de gráficos.

Desde 1993, o Excel tem incluído o Visual Basic para Aplicativos (VBA), uma linguagem de programação baseada no Visual Basic que adiciona a capacidade de automatizar tarefas no Excel e prover funções definidas pelo usuário (UDF, user defined functions) para uso em pastas de trabalho. o VBA é um complemento poderoso ao aplicativo que, em versões posteriores, inclui um ambiente integrado de desenvolvimento (IDE, integrated development environment). A gravação de macros pode produzir código VBA que replica ações do usuário, desse modo permitindo automação simples de tarefas cotidianas. o VBA permite a criação de formulários e controles dentro da pasta de trabalho para comunicação com o usuário.

A funcionalidade de automação provida pelo VBA fez com que o Excel se tornasse um alvo para vírus de macro. Esse foi um problema sério no mundo corporativo até os produtos anti-vírus começarem a detectar tais vírus. A Microsoft adotou tardiamente medidas para previnir o mau uso com a adição da capacidade de desativar as macros completamente, de ativar as macros apenas quando se abre uma pasta de trabalho ou confiar em todas as macros assinadas com um certificado confiável.

As versões 5.0 a 9.0 do Excel contêm vários "ovos de páscoa", porém desde a versão 10 a Microsoft tomou medidas para eliminar tais recursos não documentados de seus produtos.


Versões:

Excel 2.0 para Windows
Excel 3.0
Excel 4.0
Excel 5.0 (Office 4.2 e 4.3, também uma versão de 32 bits para o Windows NT somente)
Excel 7.0 (Office 95)
Excel 8.0 (Office 97)
Excel 9.0 (Office 2000)
Excel 10.0 (Office XP)
Excel 11.0 (Office 2003)
Excel 12.0 (Office 2007)

Não há Excel 1.0 para evitar confusão com versões para o Macintosh e nem 6.0 por que ele foi lançado com o Word 7. Todos os produtos do Office 95 têm capacidades de OLE 2 - para mover dados automaticamente de vários programas - e o nome Excel 7 deveria mostrar que ele era contemporâneo do Word 7.

Evento Change em Excel

Já imaginou em alterar um dado quando outro é inserido? isso é possivel em Excel você sabia?

Então vamos ao código

Private Sub Worksheet_Change(ByVal Target As Range)
Dim linha As Integer
Dim coluna As Integer

' Usamos o argumento Target para saber qual campo foi alterado.
coluna = Target.Column
linha = Target.Row

' Executa a função calculo se campo B5 foi alterado.
If (linha = 5 And coluna = 2) Then
ocultar
End If

End Sub
Function ocultar()

Rows("7:7").Select
Selection.EntireRow.Hidden = True
'altere para false se quiser reexibir

End Function


Insira este código dentro da planilha que você utilizará pelo alt+f11

Função ano Bissexto

Function Bissexto(intAno As Integer) As Boolean
'
' verifica se um ano é bissexto
'
Bissexto = False

If intAno Mod 4 = 0 Then
If intAno Mod 100 = 0 Then
If intAno Mod 400 = 0 Then
Bissexto = True
End If
Else
Bissexto = True
End If
End If

End Function

Atingir Meta - Excel

Atingir Meta em Excel é uma tarefa relativamente simples, vamos imaginar que você possui uma tabela em Excel e precisa saber o quanto precisa reduzir nos custos para ter uma margem maior de lucro, abaixo uma tabela bem simples e o que é necessário para atingir esta meta.

Primeiro vamos em Ferramentas - Atingir Meta

Vai abrir uma janela pedindo para você informar onde representará o lucro da venda (Definir célula), o percentual lucro desejado (Para o valor) e qual célula será a meta no nosso caso Custos(Alternando célula), clique em OK e a célula custo te mostrará o novo valor a ser atingido.


1322235355-clip-10kb

Atingir Meta - Excel

Atingir Meta em Excel é uma tarefa relativamente simples, vamos imaginar que você possui uma tabela em Excel e precisa saber o quanto precisa reduzir nos custos para ter uma margem maior de lucro, abaixo uma tabela bem simples e o que é necessário para atingir esta meta.

Primeiro vamos em Ferramentas - Atingir Meta

Vai abrir uma janela pedindo para você informar onde representará o lucro da venda (Definir célula), o percentual lucro desejado (Para o valor) e qual célula será a meta no nosso caso Custos(Alternando célula), clique em OK e a célula custo te mostrará o novo valor a ser atingido.


1322235355-clip-8kb

Atingir Meta - Excel

Auditoria de Fórmulas Excel

Muitas vezes você já deve ter visto isto no Excel, mas, nunca imaginou para que serviria certo?
Então vamos a uma breve explicação do que seria a AUDITORIA DE FÓRMULAS em Excel.

Imaginemos que você possui uma planilha que vai calcular valor de desconto, então, você tem na célula A1 o valor real, na B1 você quer que calcule o valor de desconto e este desconto esta na C1.

vamos lá !


100 5 5%
100 0

mas e se você arrasta para linhas de baixo?

se você não fixar na fórmula a coluna C1 irá acontecer um erro e para isso servirá a auditoria de fórmulas.

Deixe o erro acontecer para que possamos analisar.

Agora vá na célula B2 e clique em auditoria de fórmulas - rastrear precedentes e ele te mostrará onde está o erro, você estará solicitando ao Excel para pegar um valor vazio, com este recurso é muito simples corrigir um erro de fórmula.

Excluir Dados Duplicados

Excluir dados duplicados é bem simples também, a partir do Excel 2007 esta ferramenta está muito simples.

Selecione a coluna que será feita a verificação, clique em Dados, e Remover Dados Duplicados, irá abrir uma janela informando a coluna e solicitando a confirmção, clique em OK e pronto.

Evitando dados duplicados em Excel - Validação

Validar para que uma determinada coluna não aceite dados duplicados é muito simples, segue abaixo uma maneira bem rápida de se fazer.

Primeiro escolha a coluna que será aplicada essa validação, clique em Validação.

Será aberta uma caixa de mensagem com alguns critérios para validação no nosso caso vamos escolher o Personalizado em "Permitir"

No campo fórmula insira a está fórmula =CONT.SE(A$1:A$50;A1)=1

Na aba Alerta de erro, descreva a mensagem que o usuário irá receber caso já exista o dado digitado.

Criando Funções em VBA - Datas

Dias corridos entre datas em VBA

Function DiasCorridosEntreDatas(DataInicial As Date, DataFinal As Date) As Long
DiasCorridosEntreDatas = (DataFinal - DataInicial)
End Function

Dias úteis entre datas em VBA

Function DiasUteisEntreDatas(DataInicial As Date, DataFinal As Date) As Double
Dim Idatas As Date
Dim i As Double
i = 0
For Idatas = DataInicial To DataFinal
If ÉDiaUtil(Idatas) Then i = i + 1
Next
DiasUteisEntreDatas = i
End Function

Dias corridos após dias úteis em VBA

Function DiasCorridosAposDiasUteis(Data As Date, DiasUteis As Long) As Long
DiasCorridosAposDiasUteis = DiasCorridosEntreDatas(Data, DataAposDiasUteis(Data, DiasUteis))
End Function

Dias úteis após dias corridos em VBA

Function DiasUteisAposDiasCorridos(Data As Date, DiasCorridos As Long) As Long
DiasUteisAposDiasCorridos = DiasUteisEntreDatas(Data, Data + DiasCorridos)
End Function

Data após dias corridos em VBA

Function DataAposDiasCorridos(Data As Date, dias As Long) As String
DataAposDiasCorridos = Data + dias
End Function

Data após dias úteis em VBA

Function DataAposDiasUteis(Data As Date, dias As Long)
Dim i As Long
Dim DataUtil As Date
i = 0
DataUtil = Data
Do While Abs(i) < Abs(dias)
If ÉDiaUtil(DataUtil) Then i = i + Sgn(dias)
DataUtil = DataUtil + Sgn(dias)
Loop
Do While Not ÉDiaUtil(DataUtil)
DataUtil = DataUtil + Sgn(dias + 0.5)
Loop
DataAposDiasUteis = DataUtil
End Function

Próximo dia Útil em VBA

Function ProximoDiaUtil(Data As Date) As Date
Dim DataUtil As Date
DataUtil = Data + 1
Do While Not ÉDiaUtil(DataUtil)
DataUtil = DataUtil + 1
Loop
ProximoDiaUtil = DataUtil
End Function

Primeiro dia útil do mês em VBA

Function PrimeiroDiaUtilMes(Data As Date) As Date
Dim PrimeiroDiaMes As Date
PrimeiroDiaMes = CDate("01/" & Str(Month(Data)) & Str(Year(Data)))
PrimeiroDiaUtilMes = IIf(ÉDiaUtil(PrimeiroDiaMes), _
PrimeiroDiaMes, ProximoDiaUtil(PrimeiroDiaMes))
End Function

Ultimo dia útil do mês em VBA

Function UltimoDiaUtilMes(Data As Date) As Date
Dim PrimeiroDiaMesSeguinte As Date
If Month(Data) < 12 Then
PrimeiroDiaMesSeguinte = PrimeiroDiaUtilMes(CDate("01/" _
& Str(Month(Data) + 1) & Str(Year(Data))))
Else
PrimeiroDiaMesSeguinte = PrimeiroDiaUtilMes(CDate("01/01" _
& Str(Year(Data) + 1)))
End If
UltimoDiaUtilMes = DataAposDiasUteis(PrimeiroDiaMesSeguinte, -1)
End Function

Função para saber se é fim de semana em VBA

Function ÉFimSemana(Data As Date) As Boolean
If WeekDay(Data, vbMonday) < 6 Then
ÉFimSemana = False
Else
ÉFimSemana = True
End If
End Function

Função para saber se é Sábado em VBA

Function ÉSábado(Data As Date) As Boolean
If WeekDay(Data) = 7 Then
ÉSábado = True
Else
ÉSábado = False
End If
End Function

Função para saber se é Domingo em VBA

Function ÉDomingo(Data As Date) As Boolean
If WeekDay(Data) = 1 Then
ÉDomingo = True
Else
ÉDomingo = False
End If
End Function

Função em VBA para saber se é dia útil

Function ÉDiaUtil(Data As Date) As Boolean
If Not ÉFeriado(Data) And Not ÉFimSemana(Data) And Not ÉPascoa(CDate(Data)) Then
ÉDiaUtil = True
Else
ÉDiaUtil = False
End If
End Function

Função em VBA para saber qual o dia da semana

Function DiaDaSemana(Data As Date) As String
Select Case WeekDay(Data, vbMonday)
Case 1
DiaDaSemana = "Segunda"
Case 2
DiaDaSemana = "Terça"
Case 3
DiaDaSemana = "Quarta"
Case 4
DiaDaSemana = "Quinta"
Case 5
DiaDaSemana = "Sexta"
Case 6
DiaDaSemana = "Sábado"
Case 7
DiaDaSemana = "Domingo"
End Select
End Function

Função em VBA para saber o nome do mês

Function NomedoMes(iMesAtual As Integer)
Dim sNomeMes As String
Select Case iMesAtual
Case 1
sNomeMes = "Janeiro"
Case 2
sNomeMes = "Fevereiro"
Case 3
sNomeMes = "Março"
Case 4
sNomeMes = "Abril"
Case 5
sNomeMes = "Maio"
Case 6
sNomeMes = "Junho"
Case 7
sNomeMes = "Julho"
Case 8
sNomeMes = "Agosto"
Case 9
sNomeMes = "Setembro"
Case 10
sNomeMes = "Outubro"
Case 11
sNomeMes = "Novembro"
Case 12
sNomeMes = "Dezembro"

End Select


NomedoMes = sNomeMes
End Function

Função em VBA para determinar os feriados, muito útil.

Function ÉFeriado(sbsDia) As Boolean
Dim kcont As Integer, stFer(8) As String

stFer(1) = "1/1"
stFer(2) = "21/4"
stFer(3) = "1/5"
stFer(4) = "7/9"
stFer(5) = "12/10"
stFer(6) = "2/11"
stFer(7) = "15/11"
stFer(8) = "25/12"

For kcont = 1 To 8
If Day(sbsDia) & "/" & Month(sbsDia) = stFer(kcont) Then
ÉFeriado = True
Exit Function
End If
Next kcont

End Function

Função em VBA para saber se é Pascoa

Function ÉPascoa(sbsPascoa As Single) As Boolean
Dim sn As Integer, sa, sb, sc, sd, se, sf, sg, sh, si, sk, sl, sm, sp, sq As Single
Dim sDia, sMes, sDiaCarnaval, sDiaCarn, sMesCarnaval As Single
Dim stDiadePascoa As String, sDiadePascoa As Single, sDiaCorpChr As Single

sn = Year(sbsPascoa)
sa = sn - Int(sn / 19) * 19
sb = Int(sn / 100)
sc = sn - sb * 100
sd = Int(sb / 4)
se = sb - sd * 4
sf = Int((sb + 8) / 25)
sg = Int((sb - sf + 1) / 3)
sh = (19 * sa + sb - sd - sg + 15) - Int((19 * sa + sb - sd - sg + 15) / 30) * 30
si = Int(sc / 4)
sk = sc - si * 4
sl = (32 + 2 * se + 2 * si - sh - sk) - Int((32 + 2 * se + 2 * si - sh - sk) / 7) * 7
sm = Int((sa + 11 * sh + 22 * sl) / 451)
sp = Int((sh + sl - 7 * sm + 114) / 31)
sq = sh + sl - 7 * sm + 114 - sp * 31

sDia = sq + 1 'Domingo de Páscoa
sMes = sp 'Mês da Páscoa

stDiadePascoa = sDia & "/" & sMes & "/" & sn
sDiadePascoa = Int(CDate(stDiadePascoa))
sDiaCarnaval = sDiadePascoa - 47
sDiaCarn = sDiadePascoa - 48
sDiaCorpChr = sDiadePascoa + 60

If Day(sbsPascoa) = sDia And Month(sbsPascoa) = sp Then
ÉPascoa = True
End If
If Day(sbsPascoa) = sDia - 2 And Month(sbsPascoa) = sp Then
ÉPascoa = True
'Paixão de Cristo
End If
If Day(sbsPascoa) = Day(sDiaCarnaval) And Month(sbsPascoa) = Month(sDiaCarnaval) Then
ÉPascoa = True
'Terça Feira de Carnaval
End If
If Day(sbsPascoa) = Day(sDiaCorpChr) And Month(sbsPascoa) = Month(sDiaCorpChr) Then
ÉPascoa = True
'Corpus Christi
End If
If Day(sbsPascoa) = Day(sDiaCarn) And Month(sbsPascoa) = Month(sDiaCarn) Then
ÉPascoa = True
'Segunda feira de Carnaval
End If
End Function

Função para saber que idade a pessoa tem em VBA

Function QueIdade(dn)
QueIdade = Int((Date - dn) / 365.25)
QueIdade = IIf(QueIdade < 1, Format(QueIdade, "# anos"), Format(QueIdade, "# anos"))
End Function

Validando Datas com Excel

Validando células que irão receber datas de um intervalo de datas.

Exemplo

01/01/2011 a 31/12/2011

Selecione uma célula e digite a seguinte fórmula no campo de validação.

=OU(ÉTEXTO(A1);E(A1>=C1;A1<=D1))

Se for acionado qualquer intervalo de datas que não esteja no intervalo que você definiu a validação será acionada.

Validando Datas de um determinado mês

=MÊS(A1)=MÊS(HOJE())

Validando células para aceitar datas até 360 dias da data atual.

=E(A1>=HOJE();A1<=DATA(ANO(HOJE())+1;MÊS(HOJE());DIA(HOJE())))

Validando células que aceite somente alguns dias anteriores a data de hoje.

=HOJE()-A1<=10

Neste caso a célula aceitará até 10 dias da data indicada.

Bom acho que deu pra entender um pouquinho, mais para frente postarei outras formas de validação.

Modificar tamanho DropDown em VBA

Muitas vezes criamos uma validação em Excel e o campo DropDown fica pequeno, para isso podemos utilizar o VBA e resolver nossos problemas.


Para modificar o tamanho do campo validado nada melhor que utilizar o evento Selection
Change(), evento que é acionado sempre que selecionamos uma determinada célula.

No módulo privado EstaPasta_de_trabalho selecione o Workbook_SheetSelectionChange()

e insira o código abaixo;

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Const dFixedPos As Double = "0.2"
Const dFixWidth As Double = "12.0" '
Dim vld As Validation
Dim lDpdLine As Long

If Not prvTarget Is Nothing Then
If Not oDpd Is Nothing Then
If oDpd.Value = 0 Then
prvTarget.Value = vbNullString
Else
prvTarget.Value = Range(Mid(sFml1, 2)).Item(oDpd.Value)
End If
Set prvTarget = Nothing
End If
End If

On Error Resume Next
oDpd.Delete
sFml1 = vbNullString
Set oDpd = Nothing
On Error GoTo 0

If Target.Count > 1 Then
Set oDpd = Nothing
Exit Sub
End If

Set vld = Target.Validation
On Error GoTo Terminate
sFml1 = vld.Formula1
On Error GoTo 0

Set prvTarget = Target

lDpdLine = Plan1.Range(Mid(sFml1, 2)).Rows.Count

With Target
Set oDpd = ActiveSheet.DropDowns.Add( _
.Left - dFixedPos, _
.Top - dFixedPos, _
.Width + dFixWidth + dFixedPos * 2, _
.Height + dFixedPos * 2)
End With
With oDpd
.ListFillRange = sFml1
.DropDownLines = lDpdLine
.Display3DShading = True
End With
Terminate:
End Sub