Adicionado em: | 27/05/2011 |
Modificado em: | 27/05/2011 |
Tamanho: | Vazio |
Downloads: | 4261 |
Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA
Essa macro e Função personalizada do Aplicativo Microsoft Excel VBA(Visual Basic Application), verifica e retorna o total de dias úteis entre um intervalo de duas datas, dias úteis de trabalho. Baixe o exemplo de planilha para melhor visualizar os macros e a função personalizada, para esse cálculo de datas úteis sem os sábados e domingos através do VBA.
'Este módulo irá Dias Calcular atividade úteis entre duas datas dadas em formato abaixo.
'ColA Col B ColC
'DataIncial DataFinal Resultado nas (Celulas em branco)
Sub Calcular_dias_atividade()
[A1:B12].Select
Dim vCelulas As Range
For Each vCelulas In Selection.Cells
If IsDate(vCelulas.Value) And IsDate(vCelulas.Offset(0, 1).Value) And IsEmpty(vCelulas.Offset(0, 2)) Then
vCelulas.Offset(0, 2).Value = Dias_de_trabalho(vCelulas.Value, vCelulas.Offset(0, 1).Value)
End If
Next
[D1].Select
End Sub
Function Dias_de_trabalho(ByVal vDataInicial As Long, ByVal vDataFinal As Long) As Long
' Retorna a contagem de dias entre vDataInicial - vDataFinal menos sábados e domingos
Dim vDia As Long, vContador As Long
For vDia = vDataInicial To vDataFinal
If Weekday(vDia, vbMonday) < 6 Then
vContador = vContador + 1
End If
Next vDia
Dias_de_trabalho = vContador
End Function
'
macros abaixo foram feitas para ajudar no teste de planilha.
Sub limpar_teste()
[C2:C15].ClearContents
[D1].Select
End Sub
Sub visualizar_macros_vbe()
Dim Resposta As String
Resposta = MsgBox("Deseja visualizar as macros no módulo VBE?", vbYesNo, "Saberexcel - o site das macros")
If Resposta = 6 Then ' 6 é igual a vbyes
Application.Goto reference:="Dias_de_trabalho"
Else
Saber1.Shapes("sb").Visible = True
End If
End Sub
Sub oct()
Saber1.Shapes("sb").Visible = False
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
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: | 02/04/2011 |
Modificado em: | 02/04/2011 |
Tamanho: | Vazio |
Downloads: | 1185 |
Saberexcel - Site de quem precisa aprender Macros MS Excel VBA
Essas macros e Função do Aplicativo Microsoft Excel VBA( Visual Basic Application ), retornam o útlimo dia do mês da data atual, aproveitando o exemplo, inserí formatação data para que retorne uma mensagem do mês atual (mes texto (Abril)).
Essas função é muito importante para quem precisa retornar datas, calcular folha de pagamento, calcular pagamentos, vencimentos, taxa de juros, enfim uma infinidade de aplicações úteis onde envolve calculos baseados no último dia do mês. Espero que o exemplo lhe seja útil.
Fique com Deus, Expedito Marcondes
Sub Verifica_ultimo_dia_mes_data_atual()
Dim vDia
Dim vData
Dim sb
vData = Now()
vDia = DatePart("d", DateAdd("m", 1, DateAdd("d", -Day(vData), vData)))
sb = "Ultimo dia do do mes de [ " & Format((Now()), "mmmm") & " ] é...: [ " & vDia & " ]"
MsgBox "Ultimo dia do do mes de [ " & Format((Now()), "mmmm") & " ] é...: [ " & vDia & " ]", vbInformation, "Saberexcel - site das macros"
MsgBox "Ultimo dia do do mes de " & Format((Now()), "mmmm") & " é " & vDia, vbInformation, "Sem os parênteses"
[G10].Value = "Ultimo dia do do mes de [ " & Format((Now()), "mmmm") & " ] é...: [ " & vDia & " ]"
[G11].Value = sb 'retornando valor para célula a partir de uma variável(sb)
End Sub
Sub Utimo_dia_do_Mês()
MsgBox "O último dia do mês de [ " & Format((Now()), "mmmm") & " ] é dia..: [ " & vUltimo_dia_mes(Year(Now()), Month(Now())) & " ]", vbInformation, "Saberexcel - site das macros"
MsgBox "Mes Atual.....: " & Format((Now()), "mmmm"), vbInformation, "Saberexcel - site das macros"
End Sub
'esta função verfica o último dia dos meses
Private Function vUltimo_dia_mes(vAno As Integer, vMes As Integer, Optional vDia As Integer = 1) As Integer
Dim vArray_Ultimo_Dia_Meses As Variant
vArray_Ultimo_Dia_Meses = Array(0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
If vMes = 2 Then
If IsDate("29/2/" & vAno) Then
vUltimo_dia_mes = 29
Else
vUltimo_dia_mes = 28
End If
Else
vUltimo_dia_mes = vArray_Ultimo_Dia_Meses(vMes)
End If
End Function
'esta macro limpa as células nomeadas como 'a' - para auxliar o usuário no teste (repetir o teste com facilidade)
Sub limpar_teste()
[a].ClearContents
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA( Visual Basic Application ), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Publicidade
Compre com segurança, garantia e ótimos preços
Adicionado em: | 05/06/2011 |
Modificado em: | 05/06/2011 |
Tamanho: | Vazio |
Downloads: | 920 |
Saberexcel - o site de quem precisa Aprender macros Microsoft Excel VBA
Esses procedimentos do Aplicativo Microsoft Excel VBA(Visual Basic Application) retornam o número da semana em Textboxes, através de userforms,
também usamos fórmulas para detectar a data do inicio de uma semana baseado no número da Semana.
Private Sub UserForm_Initialize()
txtDATA = Format(Now, "dd/mm/yyyy")
txtMES = Format(txtDATA, "mmmm")
D = Int(Format(txtDATA, "0"))
NumSem = DateSerial(Year(D + (8 - Weekday(D)) Mod 7 - 3), 1, 1)
NumSem = (D - NumSem - 3 + (Weekday(NumSem) + 1) Mod 7) \ 7 + 3
txtSEMANA = NumSem
fraDADOS.Caption = " - Data:[ " & txtDATA & " ] - Mês:[ " & txtMES & " ] - Num Semana: [ " & txtSEMANA & " ]"
End Sub
Private Sub cmdFechar_Click()
Unload Me
End Sub
Fórmula retorna a data baseado no múmero da semana
isto é o inicio da semana(24)
Formula usada....: =DATA(ANO(HOJE());1;1)+(B1-1)*7-MOD(DATA(ANO(HOJE());1;1)-1;7)
formula para concatenar esses dados que está na célula (D3)
=" [ "&B1&"ª. Semana...:"&" ] está entre o intervalo de datas [ "&TEXTO(D1;"dd/mmm/aaaa") & " à "& TEXTO(E1;"dd /mmm/aaaa") & " ]"
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Adicionado em: | 20/11/2010 |
Modificado em: | 20/11/2010 |
Tamanho: | Vazio |
Downloads: | 894 |
Saberexcel - o site das macros
Esta macro do Aplicativo Microsoft Excel VBA retorna Funções DATAS, retorna mensagem de datas como , dia, mes, ano, e também retorna na folha de planilha determinadas células . VBA possui diversas funções que auxiliam no desenvolvimento. Vejamos as principais Funções de Datas
Você sabia que as datas e horas datas e horas são armazenadas internamente na memória como números. Isto de certa forma nos permite realizar os calculos com datas e também horas, como por exemplo adicionar dias ao dia de hoje para obtenção de uma data futura.
O Visual Basic realiza esses cálculos como muita facilidade com as funções que retornam datas e horas como também a atual, e gera esses dados baseado em string e ou outra expressão. Temos excelentes exemplos de planilhas nos Módulos [COMO FAZER - PROGRAMAÇÃO MS EXCEL VBA- SABEREXCEL] - com fórmulas e uso das Funções.
Função Descrição
Date.................................: Retorna a data atual
Time.................................: Retorna a hora atual
Now..................................: Retorna a data e hora atual
Hour, Minute, Second .........: Retornam Hora, Minuto e Segundo atual
Day, Month, Year ...............: Retornam Dia, Mês e Ano de uma data qualquer
DataDiff ............................: Retorna a diferença entre duas datas
Public Const sb = vbInformation
Public Const titulo = "Saberexcel - o site das macros"
Sub Funcao_data_retorna_planilha()
[A1].Select
[A1:D10].ClearContents
ActiveCell.Value = Date
ActiveCell.Offset(0, 2).Value = "Data atual"
MsgBox "Data Atual.......: " & Date, sb, titulo: ActiveCell.Value = Date
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Day(Date)
ActiveCell.Offset(0, 2).Value = "dia de hoje"
MsgBox "Dia de Hoje....: " & Day(Date), sb, titulo: ActiveCell.Value = Day(Date)
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Format(Date, "MMMM") & " ( " & Month(Date) & " )"
ActiveCell.Offset(0, 2).Value = "Mês atual"
MsgBox "Mês Atual......: " & Month(Date) & " = " & Format(Date, "Mmmm"), sb, titulo
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Year(Date)
ActiveCell.Offset(0, 2).Value = "Ano atual"
MsgBox "Mês Atual......: " & Year(Date), sb, titulo
ActiveCell.Offset(2, 0).Select
ActiveCell.Value = "Ituverava(SP)," & Day(Date) & " de " & Format(Date, "Mmmm") & " de " & Year(Date) & "."
ActiveCell.Offset(0, 2).Value = "Local e Data"
MsgBox "Data...........: " & "Ituverava(SP)," & Day(Date) & " de " & Format(Date, "Mmmm") & " de " & Year(Date) & ".", sb, titulo
[D1].Select
End Sub
Fiz essa mensagem, com objetivo didático, para que voce veja as declarações públicas de variáveis no ínicio do módulo, isso simplifica quando voce tem que enviar um uma determinada mensagem várias vezes dentro de um módulo, não precisa ficar digitando só inserir as variáveis.
Sub aprender_vba_saberexcel()
MsgBox "Aprenda microsoft Excel VBA com qualidade", sb, titulo
End Sub
'funçao somente com retorno da mensagem
Sub Funcao_datas_msg()
MsgBox "Data Atual : " & Date, sb, titulo
MsgBox "Dia de Hoje : " & Day(Date), sb, titulo
MsgBox "Mês Atual : " & Month(Date), sb, titulo
MsgBox "Mês Atual : " & Year(Date), sb, titulo
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA - com SaberExcel
Publicidade
Compre com Segurança, garantia e ótimos preços e produtos nas lojas SubMarino
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