Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#17117
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
#17118
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 todos
Sub 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
Você não está autorizado a ver ou baixar esse anexo.
#17135
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
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord