Página 1 de 1
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 11:04
por ramonmattos
Bom dia. Mestes
Preciso de uma grande ajuda de vocês. Necessito de uma estrutura de Repetição que funcione da seguinte forma:
Data - Entrada - Intervalo – Retorno - Saída
26/10/2016 08:00 – 12:00 – 13:00 – 17:00
27/10/2016 08:05 – 12:03 – 13:07 – 17:08
Onde deverá ser incrementado 00:01 min da Entrada até a Saida. Se possível quando chegar na saída sai do loop.
Quando terminar o loop de um dia. vai para outro.
Se puder me encaminhar 02 modelos. Um da Entrada até a Saida
O outro da Entrada até o Intervalo e do Retorno até a Saida.
Obrigado a todos
Re: Estrutura de Repetição - Datas / Horas - Incrementando 1
Enviado: 09 Nov 2016 às 11:56
por luizpaps
supondo que seus dados estejam na "Plan1" de A1 até E3, abra o editor vba, insira um módulo, copie e cole o código abaixo:
a sub EntradaSaida modifica todos os horários
a sub EntradaIntervalo modifica somente a colunas Entrada e Intervalo
a sub RetornoSaida modifica somente as colunas Retorno e Saída
Código: Selecionar todosSub EntradaSaida()
Dim linha As Integer
Dim coluna As Integer
Dim U_L As Integer
Dim ws As Worksheet
Dim minuto As Date
minuto = Format("00:01", "hh:mm")
U_L = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set ws = Sheets("Plan1")
For linha = 2 To U_L
For coluna = 2 To 5
ws.Cells(linha, coluna).Value = ws.Cells(linha, coluna).Value + minuto
Next coluna
Next linha
End Sub
Sub EntradaIntervalo()
Dim linha As Integer
Dim coluna As Integer
Dim U_L As Integer
Dim ws As Worksheet
Dim minuto As Date
minuto = Format("00:01", "hh:mm")
U_L = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set ws = Sheets("Plan1")
For linha = 2 To U_L
For coluna = 2 To 3
ws.Cells(linha, coluna).Value = ws.Cells(linha, coluna).Value + minuto
Next coluna
Next linha
End Sub
Sub RetornoSaida()
Dim linha As Integer
Dim coluna As Integer
Dim U_L As Integer
Dim ws As Worksheet
Dim minuto As Date
minuto = Format("00:01", "hh:mm")
U_L = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Set ws = Sheets("Plan1")
For linha = 2 To U_L
For coluna = 4 To 5
ws.Cells(linha, coluna).Value = ws.Cells(linha, coluna).Value + minuto
Next coluna
Next linha
End Sub
resolvi mandar também a planilha de exemplo
se te ajudei, me ajude clicando em obrigado
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 12:24
por ramonmattos
Desculpe acho que não fui claro....
O que desejo é:
Data
26/10/2016 08:00
26/10/2016 08:01
26/10/2016 08:02
26/10/2016 08:03
26/10/2016 08:04
26/10/2016 08:05
26/10/2016 08:06
26/10/2016 08:07
26/10/2016 até
26/10/2016 17:00
assim para todos os dias .....
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 12:28
por luizpaps
não entendi, seria melhor se você postasse uma planilha de exemplo
Re: Estrutura de Repetição - Datas / Horas - Incrementando 1
Enviado: 09 Nov 2016 às 12:55
por ramonmattos
Segue em anexo o arquivo com o exemplo.
Favor observar que a planilha BD_Hs é o detalhamento do dia da planilha Horas.
Somente fiz para os dias 21 22 e 23.
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 12:58
por luizpaps
em qual planilha você quer que acrescente 00:01 às horas? ainda não entendi bem
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 13:11
por ramonmattos
O Incremento de 00:01 deve acontecer na planilha BD_HS.
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 13:37
por ramonmattos
Luiz vc entendeu a minha solicitação?
O que eu quero é algo assim com a estrutura de laço....
i = 1
Do
Cells(i, 1) = i
i = i + 1
Loop Until i = 11
Porem não sei como montar.....entende?
Estrutura de Repetição - Datas / Horas - Incrementando 1min.
Enviado: 09 Nov 2016 às 13:45
por luizpaps
a estrutura de loop eu entendi, não entendi ainda em qual planilha você quer aplicar essa estrutura, o arquivo que você postou tem 6 planilhas: Horas, BD_Hs, HsDet, Plan4, ACM e plan2, em qual delas o código deve funcionar
Re: Estrutura de Repetição - Datas / Horas - Incrementando 1
Enviado: 09 Nov 2016 às 14:06
por luizpaps
ramonmattos escreveu:O Incremento de 00:01 deve acontecer na planilha BD_HS.
Desculpa não havia visto esse post
Re: Estrutura de Repetição - Datas / Horas - Incrementando 1
Enviado: 09 Nov 2016 às 14:32
por luizpaps
veja se é isto que você quer, senão procure explicar de uma forma mais detalhada
Re: Estrutura de Repetição - Datas / Horas - Incrementando 1
Enviado: 09 Nov 2016 às 15:18
por ramonmattos
Luiz desculpe. Vou tentar ser mais claro!
Estou reenviando a planilha....Observe que exclui todos os dados da planilha BD_HS, de propósito. Pois, a planilha BD deverá ser alimentada com os dados da planilha Horas.
Observe a linha 6 na planilha Horas!
Como por meio de Estrutura em Laço é possível alimentar a Planilha BD_HS utilizando os dados da planilha Horas, com as seguintes células. Horas!D6 (07:55) e Horas!G6 (19:10)
É mais ou menos assim
Dim DataInicio as Date
Dim DataTermino as Date
Dim HsInicio as Date
Dim HsTermino as Date
Dim NovaDt as Date
Dim NovaHs as Date
Dim ContDt as Interger
Dim ContHs as Date
DataInicio = 21/05/16
Data Termino = 20/06/16
ContDt = 1 dia
ContHs = 00:01 minuto
Do para Datas
DataInicio + ContadorData = NovaData (21/05/16 até......20/06/16)
Do para Horas
HsInicio + ContHs = (07:55 até......19:10) – para o dia 21/05/16
HsInicio + ContHs = (08:01 até......19:16) – para o dia 23/05/16
Loop Until NovaHora = HsTermino (Ex.: 21/05/16 – 19:10)
Loop Until NovaDt = Data Termino