Adicionado em: | 21/11/2010 |
Modificado em: | 21/11/2010 |
Tamanho: | Vazio |
Downloads: | 2225 |
Saberexcel - o Site das Macros
Estas macros do Aplicativo Microsoft Excel VBA, mostram horas através de um userform, horas continuas
Relógio digital, que funcionará como um Spash
Esses procedimentos junto com a declaração Global (Boolean), insere um relogio digital no rótulo(label)
de determinado Userform(Formulário)
1 objeto Userform1 ............: - Caption "Userform1"
1 objeto Label....................: - Caption "Label1"
1 objeto CommandButton....: - Caption "CommandButton"
'NO MÓDULO COMUM STANDARD INSIRA AS MACROS E VARIAVEL GLOBAL ABAIXO
Global onOff As Boolean
Sub MostrarFormulário()
UserForm1.Show
End Sub
Sub MostrarHoras()
On Error Resume Next
'colocação da data e horas devidamente formatadas
'veja que aqui inserimos as horas no Caption do Userform, Label e Frame1
UserForm1.Caption = "Hoje é dia: [ " & Format(Now, "dddd dd-mm-yyyy") & " ] Agora são: [ " & Format(Now, "hh:mm:ss") & " ] horas"
UserForm1.Label1.Caption = Format(Now, "dddd dd-mm-yyyy hh:mm:ss")
UserForm1.Frame1.Caption = "Hoje é dia: [ " & Format(Now, "dddd dd-mm-yyyy") & " ] Agora são: [ " & Format(Now, "hh:mm:ss") & " ] horas"
'só é executado se o formulário estiver activo
If onOff = True Then
Application.OnTime Now + TimeValue("00:00:01"), "MostrarHoras"
Else
Application.OnTime 0, ""
End If
End Sub
'Essa macro usando evento Open que abrirá o formulário na Abertura do Livro
Sub Auto_Open()
On Error Resume Next
UserForm1.Show
End Sub
'NA FOLHA DE CÓDIGO DO USERFORM
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Activate()
onOff = True ' variável declarada como global as boolean
'inicia o ciclo de a cada segundo actualizar as horas no formulário
Application.OnTime Now + TimeValue("00:00:01"), "MostrarHoras"
End Sub
'Aqui o Evento Terminate encerra o ciclo de atualização por encerramento do formulário
Private Sub UserForm_Terminate()
onOff = False
End Sub
'Por exemplo se voce quiser abrir um userform chamado Spash
'faça uma macro que abre ativará um form splash e o fecha em 5 segundos.
'Private Sub UserForm_Activate()
'Application.OnTime Now + TimeValue("00:00:05"), "FechaSplash"
'End Sub
Aprenda Microsoft Excel VBA --((SaberExcel ))--
Adicionado em: | 21/11/2010 |
Modificado em: | 21/11/2010 |
Tamanho: | Vazio |
Downloads: | 784 |
Saberexcel - o site das macros
Diferença em segundos de uma determinada data até agora
Essa macro do aplicativo Microsoft Excel VBA insere uma relógio que faz a diferença de data entre uma determinada data o momento de agora e contar os segundos que faz a diferença entre essas datas?
essas macros fazem isso, a segunda pode contar a diferença em segundos entre uma data e outra.
esta macro repete a macro "Relógio_Segundos" a cada 1 segundo!
Sub Relogio_Segundos()
[A2] = Format([A1] - Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:03"), "Relogio_Segundos"
End Sub
Este relógio conta os segundos de uma determinada data por exemplo
neste momento é 02/11/2007 10:49:22 (A1) - e inseri a macro para ver
a diferença em segundos, acione a macro A2
Sub Relogio_diferença_Segundos()
[A2] = DateDiff("s", Now, [A1]) & " Segundos"
Application.OnTime Now + TimeValue("00:00:01"), "Relogio_Segundos"
End Sub
Aprenda Microsoft Excel VBA (SaberExcel)
Baixe o exemplo de planilha com as macros acima (fazer as configurações)
Adicionado em: | 21/11/2010 |
Modificado em: | 21/11/2010 |
Tamanho: | Vazio |
Downloads: | 912 |
Qua, 20 de Agosto de 2008 07:11 Administrador
Manoel é possível sim, observe essa macro abaixo que retorna o calculo do montante a ser
pagado por horas trabalhadas, isto é, multiplicad o total de horas trabalhadas pelo valor de /
de uma hora
Sub Calcula_Pagamento_Horas_Trabalhadas()
On Error GoTo SbError
Dim vHora
Dim pgHora
Dim iPgto_por_Semana
vHora = InputBox("Entre com o numero de horas trabalhadas", "Horas Trabalhadas")
pgHora = InputBox("Valor do pagamento por hora", "Pagamento valor hora")
iPgto_por_Semana = CCur(vHora * pgHora)
MsgBox "O Pagamento é de : " & Format(iPgto_por_Semana, "R$ ##,##0.00"), , "Total Pagamento"
SbError:
End Sub
Baixe o exemplo de planilha contendo a macro acima
Adicionado em: | 21/11/2010 |
Modificado em: | 21/11/2010 |
Tamanho: | Vazio |
Downloads: | 950 |
Saberexcel - o site das macros
Insira os seguintes objetos no módulo VBA (Visual Basic Application)
'1 - Userform
'1 - Label1
'Estas macros mostram horas através de um userform, horas continuas
Relógio digital 2010-07-20 21:26:19
Os procedimentos são inseridos nos modulos comuns e nas
folhas de códigos do Objeto Userform
EM UM MÓDULO COMUM INSIRA OS SEGUINTES CÓDIGOS:
Global onOff As Boolean
'termina o ciclo de atualização por
'encerramento do formulário
Sub ver_formulario()
UserForm1.Show
End Sub
Sub MostrarHoras()
On Error Resume Next
'colocação da data e horas devidamente formatadas
UserForm1.Caption = "Agora :" & Format(Now, "dddd dd-mm-yyyy hh:mm:ss")
UserForm1.Label1.Caption = "Agora :" & Format(Now, "dddd dd-mm-yyyy hh:mm:ss")
UserForm1.Frame1.Caption = "Agora :" & Format(Now, "dddd dd-mm-yyyy hh:mm:ss")
UserForm1.Frame1.ForeColor = &HFF0000
UserForm1.Label1.ForeColor = &HFFFFFF
UserForm1.Label1.BackColor = &HFF&
'só é executado se o formulário estiver activo
If onOff = True Then
Application.OnTime Now + TimeValue("00:00:01"), "MostrarHoras"
Else
Application.OnTime 0, ""
End If
End Sub
Sub Auto_Open()
On Error Resume Next
UserForm1.Show
End Sub
'
Sub Fecha_userform()
On Error Resume Next
UserForm1.Hide
End Sub
NO MÓDULO DA FOLHA DE CÓDIGO DO OBJETO USERFORM INSIRA OS SEGUINTES CÓDIGOS:
'...........................................................'
Private Sub UserForm_Terminate()
onOff = False
End Sub
'...........................................................'
Private Sub UserForm_Activate()onOff = True ' variável declarada como global as boolean
'inicia o ciclo de a cada segundo actualizar as horas no formulário
Application.OnTime Now + TimeValue("00:00:01"), "MostrarHoras"
End Sub
'...........................................................'
Aprenda microsoft Excel VBA
Adicionado em: | 06/02/2011 |
Modificado em: | 06/02/2011 |
Tamanho: | Vazio |
Downloads: | 725 |
Saberexcel site das macros
Alternativamente, esse exemplo é o mais indicado para realização de algum trabalho com decrementação de segundos(horas)
porque você não tem que ficar na espera da conclusão do loop contador o uso da função "DoEvents", que permite devolver
o controle ao sistema operacional ... espero que o exemplo lhe seja útil - Fique com Deus, E_Marcondes
Sub Decrementando_segundos_I()
Dim sb As Single, i As Integer
Range("A1").Value = 120
sb = Timer
For i = 120 To 1 Step -1
Do While Timer < sb + 1
DoEvents
Loop
Range("A1").Value = Range("A1").Value - 1
sb = Timer
Next i
End Sub
'----------------------------------------------------------'
Aqui também a instruçao for next(loop) usando "DoEvents"
o usuario não fica na espera.
Sub Decrementando_segundos_II()
Dim i As Integer
Dim sb For i = 20 To 0 Step -1
Range("A1") = i
sb = Timer() + 1
Do: DoEvents: Loop While Timer() < t
Next i
MsgBox "Loop concluido decrementando segundos"
End Sub
'----------------------------------------------------------'
Aqui falta do uso adequado da funcao 'DoEvents' usuario tem que ficar
na espera da conclusão do loop, observe.
Sub Decrementando_segundos_III()
Dim i As Single
Range("A1").Value = 20
i = Timer
Do While Timer < i + 20 And Range("A1").Value > 0
Application.Wait (Now + TimeValue("0:00:01"))
Range("A1").Value = Range("A1").Value - 1
Loop
End Sub
Função DoEvents
Exemplo Informações específicas
Cede o controle da execução para que o sistema operacional possa processar outros eventos.
Sintaxe
DoEvents( )
Comentários
A função DoEvents retorna um Número inteiro que representa o número de formulários abertos em versões autônomas do Visual Basic, como o Visual Basic, Professional Edition. DoEvents retorna zero a todos os outros aplicativos.
DoEvents passa o controle para o sistema operacional. O controle é retornado depois que o sistema operacional conclui o processamento dos eventos da sua fila e todas as chaves da fila SendKeys terem sido enviadas.
DoEvents tem uma maior utilidade com ações simples como permitir que um usuário cancele um processo após ter sido iniciado, por exemplo, uma procura por um arquivo. Para processos de longa execução, o controle do processador é conseguido com maior facilidade usando-se um cronômetro ou delegando-se a tarefa a um componente ActiveX EXE. Nesse último caso, a tarefa pode continuar de forma completamente independente de seu aplicativo e o sistema operacional considera a multitarefa e a divisão de tempo.
Atenção sempre que você ceder temporariamente o processador dentro de um procedimento do evento, certifique-se de que o procedimento não seja executado novamente a partir de uma parte diferente do seu código antes que a primeira chamada retorne, pois isto pode causar resultados imprevisíveis. Além disso, não use DoEvents se houver possibilidade de outros aplicativos interagirem com o seu procedimento de forma imprevisível quando você cedeu o controle.
Exemplo da função DoEvents
Este exemplo usa a função DoEvents para fazer com que a execução seja submetida ao sistema operacional uma vez a cada 1000 iterações do loop. DoEvents retorna o número de formulários abertos do Visual Basic, mas somente quando o aplicativo host for o Visual Basic.
' Crie uma variável para conter o número de formulários do Visual Basic
' carregados e visíveis.
Dim I, OpenForms
For I = 1 To 150000 ' Inicie loop.
If I Mod 1000 = 0 Then ' Se o loop tiver se repetido 1000 vezes.
OpenForms = DoEvents ' Submeter ao sistema operacional.
End If
Next I ' Incrementar o contador de loops
Aprenda tudo sobre o 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