Adicionado em: | 19/01/2013 |
Modificado em: | 19/01/2013 |
Tamanho: | Vazio |
Downloads: | 389 |
Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Este macro está ligado ao evento change da folha de planilhas, ao selecionar a data na lista suspensa,
retorna automaticamente Msgbox, mensagem data, mês, total de dias no mes, data e hora.
observe que usei a propriedade Offset(Linha, Coluna) para deslocar os dados dentro da tabela.
em nossas vídeos_Aulas "Aprendendo a programar com Simplicidade e Facilidade, Escrevendo menos e Fazendo Mais"
abordamos bem o assunto sobre o tema: Celulas(cells()) e Range(), que achamos primordial no aprendizado com programação MS Excel VBA.
Fique com Deus,
Expedito Marcondes
'- - - - - - - - - - - - - - - - - - - - -'
Sub sbx_dias_total_mes()
Data_inicio = CDate(Plan1.[c2])
Data_Teste = Data_inicio
vNum_Dias = Day(DateSerial(Year(Data_Teste), Month(Data_Teste) + 1, 1) - 1)
MsgBox "Esta data....:[ " & Plan1.Cells(2, "c") & " ]" & vbCrLf & Format(Plan1.Cells(2, "c"), "dddd") & vbCrLf & _
"Este mês ...: [ " & Month(Range("c2")) & " ] contém [ " & (vNum_Dias) & " ] dias", vbInformation, _
"Escola SaberExcel VBA Estudos®"
Range("F65000").End(xlUp).Offset(1, 0) = Plan1.[c2]
Range("F65000").End(xlUp).Offset(0, 2) = Month(Range("c2"))
Range("F65000").End(xlUp).Offset(0, 4) = (vNum_Dias)
Range("F65000").End(xlUp).Offset(0, 6) = Now()
End Sub
'Observe que inserí esse macro no Evento Change (ao escrever na folha de código da folha de Planilha)
então, ao selecionar na lista suspensa uma determinada data, retornará a mensagem e inserirá nas colunas
(Colunas(F,H,J,L) - os mesmos Data, mês da data, total de dias mês, data e hora consulta.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" And Target.Count = 1 Then
sbx_dias_total_mes
End If
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 28/03/2012 |
Modificado em: | 28/03/2012 |
Tamanho: | Vazio |
Downloads: | 582 |
Escola Saberexcel VBA Estudos® - o Site de quem precisa aprender sobre Macros MS Excel VBA
Esta macro adiciona(cria) folhas de planilihas com nome dos meses do ano, concatenando com o número do mês, observe que o formato da variável
vMeses esta no formato (mmmm), que retorna o "nome" 'extenso' dos meses.
Abaixo uma macro que deleta todas as folhas de planilhas e preserva somente as folhas de planilha desejadas no livro.
Espero que o exemplo possa lhe ser útil. Fique com Deus, Expedito Marcondes.
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Sub sbx_gerar_planilhas_meses()
'- - - - - - - - - - - - -
'http://www.microsoftexcel.com.br
'[email protected]
'- - - - - - - - - - - - -
Dim vContador As Integer
Dim vPlanilha As Worksheet
Dim vMeses As String
' criar um contador com instrução for para repetir um determinado número de vezes
For vContador = 1 To 12
'Adiciona uma Planilha
'instrução set - (referenciar um objeto)
Set vPlanilha = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
'Referenciando o mês do ano atual
vMeses = vContador & " - " & Saber1.Range("A1").Value
'Renomear a planilha que foi adicionada
On Error GoTo SaberErro:
vPlanilha.Name = vMeses & " - " & Format(vMeses, "mmmm")
Set vPlanilha = Nothing 'nothing' dessassocia um objeto de uma variável
Next vContador
Saber1.Select
MsgBox ("Todas as folhas de planilhas foram deletadas" & vbCrLf & _
"Preservando a Folha de Planilha 'Auxiliar' e Produtos_Saberexcel"), vbInformation, "Escola Saberexcel VBA Estudos®"
Exit Sub
SaberErro: ' tratando um erro:
Resposta = MsgBox("Não poderá ser criar planilhas já existentes" & vbCrLf & _
"a menos que você delete as existentes para criar novas, Deseja fazer isso?", vbYesNo, "Escola Saberexcel VBA Estudos®")
If Resposta = 6 Then
Deleta_Planilhas_Exceto_Desejada
sbx_gerar_planilhas_meses
End If
Saber1.Select
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Esse macro é para auxiliar no teste com os macros acima:
'Deleta todas as folhas de planilha e preserva as desejadas.
Sub Deleta_Planilhas_Exceto_Desejada()
For Each nm In Worksheets
Application.DisplayAlerts = False 'impede de emitir a mensagem se deseja excluir
If nm.Name <> "Auxiliar" And nm.Name <> "Produtos_Saberexcel" Then
nm.Delete
End If
Next nm
MsgBox ("Todas as folhas de planilhas foram deletadas" & vbCrLf & _
"Preservando a Folha de Planilha 'Auxiliar' e Produtos_Saberexcel"), vbInformation, "Escola Saberexcel VBA Estudos®"
End Sub
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 11/11/2011 |
Modificado em: | 11/11/2011 |
Tamanho: | Vazio |
Downloads: | 1439 |
Saberexcel - o site de quem precisa aprender macros MS Excel VBA
Função personalizada "Decorrido" do aplicativo Microsoft Excel VBA, retorna a diferença de datas em duas determinadas datas, essa função é igual a função DATADIF, que retorna também a diferença de datas, Anos, meses, dias.
Baixe o exemplo de planilha no final da página. Espero que o exemplo possam ajudá-los, Fiquem com Deus. Expedito Marcondes.
Function Decorrido(DataInicial As Date, DataFinal As Date, TipoRetorno As Integer)
Dim AnoInicial As Integer
Dim AnoFinal As Integer
Dim MesInicial As Integer
Dim MesFinal As Integer
Dim DiaInicial As Integer
Dim DiaFinal As Integer
AnoInicial = Year(DataInicial)
MesInicial = Month(DataInicial)
DiaInicial = Day(DataInicial)
AnoFinal = Year(DataFinal)
MesFinal = Month(DataFinal)
DiaFinal = Day(DataFinal)
If DiaFinal < DiaInicial Then
DiaFinal = DiaFinal + (DateSerial(AnoFinal, MesFinal + 1, DiaFinal) - DateSerial(AnoFinal, MesFinal, DiaFinal))
MesFinal = MesFinal - 1
End If
If MesFinal < MesInicial Then
MesFinal = MesFinal + 12
AnoFinal = AnoFinal - 1
End If
Select Case TipoRetorno
Case 1 '\ retorna Ano
Decorrido = AnoFinal - AnoInicial
Case 2 '\ retorna o mês
Decorrido = MesFinal - MesInicial
Case 3 '\ retorna dia
Decorrido = DiaFinal - DiaInicial
End Select
End Function
USO DAS FUNÇÕES:
=decorrido($F6;$G$1;1) ' argumento (1) retorna Anos.
=decorrido($F6;$G$1;2) ' argumento(2) retorna Meses
=decorrido($F6;$G$1;3) ' argumento(3) retorna dias
CONCATENANDO DADOS USANDO A FUNÇÃO PERSONALIZADA 'decorrido"
="O Sr." &B5&" nascido dia [ "&TEXTO(D5;"dd/mmm/aaaa")&" ] Tem [ "&decorrido($D5;$E$1;1) & " ] Anos, "& decorrido($D5;$E$1;2) & " mese="O Sr." &B5&" nascido dia [ "&TEXTO(D5;"dd/mmm/aaaa")&" ] Tem [ "&decorrido($D5;$E$1;1) & " ] Anos, "& decorrido($D5;$E$1;2) & " meses e "&decorrido($D5;$E$1;3) & " dias"s e "&decorrido($D5;$E$1;3) & " dias"
' - - - - - - - - - - - - -- -- - - - - - - - - - - - - -
USO DA FUNÇÃO DATADIF - APLICATIVO EXCEL
=DATADIF($F6;$G$1;"y") 'Argumento("y") retorna anos
=DATADIF($F6;$G$1;"ym") ' Argumento("ym") retorna meses
=DATADIF($F6;$G$1;"md") 'Argumento("md") retorna dias
CONCATENANDO DADOS USANDO A FUNÇÃO DO APLICATIVO EXCEL 'DATADIF'
="O Sr."&B5&" nascido dia [ "&TEXTO(D10;"dd/mmm/aaaa")&" ] Tem [ "&DATADIF($D5;$E$1;"y")&" ] Anos, "&DATADIF($D5;$E$1;"ym")&" meses e "&DATADIF($D5;$E$1;"md")&" dias"
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
Adicionado em: | 14/10/2011 |
Modificado em: | 14/10/2011 |
Tamanho: | Vazio |
Downloads: | 596 |
Saberexcel - o site de quem precisa aprender macros Microsoft Excel VBA
Esse macro do Aplicativo Microsoft Excel VBA, retorna mensagem data e horas.
Escola Saberexcel VBA Estudos® - Treinamento com Macros, Fórmulas e Funções.
http://www.microsoftexcel.com.br - http://www.saberexcel.com.br
'-----------------------------------------'
Sub Retorna_data_hora_minuto_segundo()
DataAtual = Month(Date)
NomeMes = MonthName(DataAtual, False)
vMensagem = "Ano atual:[ " & Year(Date) & " ] " & Chr(13)
vMensagem = vMensagem & "Mês atual :[ " & NomeMes & " ] " & Chr(13)
vMensagem = vMensagem & "Hoje é dia :[ " & Day(Date) & " ] " & Chr(13)
vMensagem = vMensagem & Chr(13) & "*-*-*-*-*-*-*-*--*-*-*-*-*" & Chr(13) & Chr(13)
HoraAtual = Hour(Time())
MinutoAtual = Minute(Time())
SegundoAtual = Second(Time())
vMensagem = vMensagem & "Hora atual: " & " [ " & HoraAtual & " ] " & Chr(13)
vMensagem = vMensagem & "Minuto atual: " & " [ " & MinutoAtual & " ] " & Chr(13)
vMensagem = vMensagem & "Segundo atual: " & " [ " & SegundoAtual & " ] " & Chr(13)
vMensagem = vMensagem & Chr(13) & "*-*-*-*-*-*-*-*--*-*-*-*-*" & Chr(13) & Chr(13)
vMensagem = vMensagem & Chr(13) & "Aprenda Microsoft Excel VBA com Saberexcel" & Chr(13) & Chr(13)
MsgBox vMensagem, vbInformation, "Saberexcel - o site das macros"
End Sub
'-----------------------------------------'
'Esse macro retorna uma mensagem de saudação
Sub saudacao_mensagem()
If Time$ > "18:00:00" Then
MsgBox "Boa noite, durma bem", _
vbInformation, "Saberexcel - o Site das Macros"
ElseIf Time$ > "12:00:00" Then
MsgBox "Boa tarde!", _
vbInformation, "Saberexcel - o Site das Macros"
ElseIf Time$ > "00:00:00" Then
MsgBox "Bom dia, com muita alegria!", _
vbInformation, "Saberexcel - o Site das Macros"
End If
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola Saberexcel VBA Estudos® - Treinamentos com Macros, Fórmulas e Funções.
http://www.micrososftexcel.com.br
'
Exc
Adicionado em: | 07/10/2011 |
Modificado em: | 07/10/2011 |
Tamanho: | Vazio |
Downloads: | 875 |
Saberexcel - o site das macros
Esse procedimento do Aplicativo Microsoft Excel VBA, inserido na folha de planilha e sensizilizado pelo Evento SelectionChange, ao selecionar copia determinados números com caracteres inválidos para datas, e os transforma em datas válidas, com barras.
'------------'
15%07&2012 - será transformado em 15/07/2012
17(07*2012 - será transformado em 15/07/2012
19.12.2012 - será transformado em 19/12/2012
25$07#2012 - será transformado em 25/07/2012
18!08*2012 - será transformado em 18/08/2012
26"12£2012 - será transformado em 26/12/2012
31%12§2012 - será transformado em 31/12/2012
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Saber1.[A1].Value = ActiveCell.Offset(0, -2).Value
Data_Formato_dia_mes_ano
End Sub
'transformando um data formato texto (07.03.2012) no formato (07/03/2012)
Sub Data_Formato_dia_mes_ano()
Dim Ano As Integer, Mes As Integer, dia As Integer
Ano = Right(Range("A1"), 4)
Mes = Mid(Range("A1"), 4, 2)
dia = Left(Range("A1"), 2)
Range("A2") = DateSerial(Ano, Mes, dia)
End Sub
Escola Saberexcel VBA Estudos - Treinamentos, Macros, Fórmulas e funções http://www.microsoftexcel.com.br
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Adquira já o Acesso Imediato
à Area de Membros
Aprenda Excel VBA com Simplicidade de
códigos e Eficácia, Escrevendo Menos e
Fazendo Mais.
'-------------------------------------'
Entrega Imediata:
+ 500 Video Aulas MS Excel VBA
+ 35.000 Planilhas Excel e VBA
+ Coleção 25.000 Macros MS Excel VBA
+ 141 Planilhas Instruções Loops
+ 341 Planilhas WorksheetFunctions(VBA)
+ 04 Módulos Como Fazer Excel VBA
+ Curso Completo MS Excel VBA
+ Planilhas Inteligentes
<script type="text/javascript"><!--
google_ad_client = "ca-pub-2317234650173689";
/* retangulo 336 x 280 */
google_ad_slot = "0315083363";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel,
Sobre as WorksheetFunctions Funções de Planilhas que retornam valores do VBA