|
Estimado AnSanval No soy experto en VBA. Creo que se deberá hacer una modificación en alguna de las siguientes líneas de código para que cuando el proceso de planeación se corra, las fechas y horas de cada actividad se sitúen justo debajo de la fecha y hora de cada columna de la hoja PLANEADOR que inicia a partir de la columna "O". Actualmente la fecha sitúa en el día correspondiente, pero no en la hora. Por ejemplo:
01-sep-23 2:00 am, se sitúa en 01-sep-23-12:00 am. Tengo las siguientes líneas :
'VARIABLES LOCALES AL PROCEDIMIENTO Private FechaInicio As Date Private FechaFinaliza As Date Private FechaTestActual As Date Private Prioridad As Date Private GrupoMaquina As String Private NumeroDias As Integer Private NombreMaquina As String Private FilaMaquina As Integer Private DiasCorrimiento As Integer Private offsetGrupoMaquinaRequerida As Integer Private FilaActualPlaneador As Double Private FilaActualProgramador As Double Private OffsetFecha As Integer Private OffsetDiasUsadosPlaneacionTarea As Integer Private NumDiasMaquinaFestiva As Integer Private ColorThemeIndex As Double Private BanderaEncabe As Byte Private Const ConstGREncabe = "ENB"
Type struct_ENB_Estado_Actual FilaActualProgramador As Double FechaInicio As Date GrupoMaquina As String offsetGrupoMaquinaRequerida As Integer NumeroDias As Integer OffsetFecha As Integer DiasCorrimiento As Integer OffsetDiasUsadosPlaneacionTarea As Integer FechaFinaliza As Date 'indica la fecha en que ocurre el encabe End Type Private EnbEstadoActual As struct_ENB_Estado_Actual
-------------------------------------------------------------------------
Private Sub PrintVars() strQdef = "" strQdef = strQdef + "Fecha de inicio......." + Str(FechaInicio) + Chr(13) strQdef = strQdef + "Numero de Dias........" + Str(NumeroDias) + Chr(13) strQdef = strQdef + "Grupo Maquina........." + GrupoMaquina + Chr(13) strQdef = strQdef + "Nombre Maquina........" + NombreMaquina + Chr(13) strQdef = strQdef + "Fila Maquina.........." + Str(FilaMaquina) + Chr(13) strQdef = strQdef + "Dias de Corrimiento..." + Str(DiasCorrimiento) + Chr(13) strQdef = strQdef + "Fila Actual Planeador." + Str(FilaActualPlaneador) + Chr(13) strQdef = strQdef + "Offset GR Maquina....." + Str(offsetGrupoMaquinaRequerida) + Chr(13) MsgBox strQdef End Sub
------------------------------------------------------------------------------------------ Private Sub Almacenar_Estado_Actual() 'Esta funcion almacena los datos actuales de posicion, filas etc donde encontro ENCABE EnbEstadoActual.FechaInicio = FechaInicio EnbEstadoActual.FilaActualProgramador = FilaActualProgramador EnbEstadoActual.GrupoMaquina = GrupoMaquina EnbEstadoActual.NumeroDias = NumeroDias EnbEstadoActual.OffsetFecha = OffsetFecha EnbEstadoActual.offsetGrupoMaquinaRequerida = offsetGrupoMaquinaRequerida EnbEstadoActual.DiasCorrimiento = DiasCorrimiento EnbEstadoActual.OffsetDiasUsadosPlaneacionTarea = OffsetDiasUsadosPlaneacionTarea EnbEstadoActual.FechaFinaliza = FechaInicio + OffsetDiasUsadosPlaneacionTarea - 1 + DiasCorrimiento End Sub
-------------------------------------------------------------------------------------------------------------------Public Sub TEST() 'CargarFechaInicio 6 'BuscarGrupoMaquina 6, "J" 'BuscarNumeroDiasRequeridos 6, "K" 'BuscarMaquinaenGrupo 'MaquinaDisponibleParada For FilaActualPlaneador = 6 To 6 Step 1 '20 copia la actividad Copy_Encabezado_op FilaActualPlaneador '21 Extrae la fecha de inicio y el grupo de maquina requridos ExtraeFechaIni_DiasReq FilaActualPlaneador '22 Calcula cuantos dias hay entre el inicio del ano y el inicio de la tarea OffsetFecha = DateDiff("d", ANO_EVALUACION, FechaInicio) '40 Busca la primera maquina y empieza a desplazarse en maquinas y dias For offsetGrupoMaquinaRequerida = 0 To 9 Step 2 '42 Busca la maquina que pertenece al grupo FilaMaquina = 5 'inicia una fila antes If BuscarMaquinaenGrupo = False Then MsgBox "NO EXISTE MAQIUNA PARA EL GRUPO", vbCritical, "ADVERTENCIA" Exit Sub Else '50 Verifica si la maquina se encuentra disponible por parada DiasCorrimiento = 0 'Inicia el corriemiento en cero If MaquinaDisponibleParada = False Then 'no disponible MsgBox "NO" PrintVars Else MsgBox "SI" 'si disponible '60 Busca si la maquina se encuentra o no programada ya If MaquinaDisponibleDia = False Then 'no dispoble en planeador MsgBox "NO2" PrintVars Else 'si disponible planeador --> copiar el nombre en las celdas- MsgBox "SI2" PrintVars End If End If End If Next offsetGrupoMaquinaRequerida Next FilaActualPlaneador End Sub ----------------------------------------------------------------------------- Private Sub InicFilaProgramador() HOJA_SELECCIONAR_V3 "MENU" CELDA_SELECCIONAR_V3 "L10" FilaActualProgramador = CELDA_LEER_VALOR_V3 End Sub Private Sub IncFilaProgramador() FilaActualProgramador = FilaActualProgramador + 1 End Sub Private Sub InicFilaPlaneador() HOJA_SELECCIONAR_V3 "MENU" CELDA_SELECCIONAR_V3 "L10" FilaActualPlaneador = CELDA_LEER_VALOR_V3 End Sub Private Sub IncFilaPlaneador() FilaActualPlaneador = FilaActualPlaneador + 1 End Sub 'offsetGrupoMaquinaRequerida Private Sub InicOffsetMaquinaRequeridaPlaneador() offsetGrupoMaquinaRequerida = 0 End Sub Private Sub IncOffsetMaquinaRequeridaPlaneador() offsetGrupoMaquinaRequerida = offsetGrupoMaquinaRequerida + 2 End Sub Private Sub InicFilaMaquina() FilaMaquina = 5 End Sub Private Sub IncFilaMaquina() FilaMaquina = FilaMaquina + 1 End Sub Private Sub InicDiasCorrimiento() DiasCorrimiento = 0 End Sub Private Sub IncDiasCorrimiento() DiasCorrimiento = DiasCorrimiento + 1 End Sub Private Function GrupoMaquinaEsEncabe() As Boolean 'Comprueba si el grupo de maquina es del ENCABE. 'la verificacion se hace con la constante ConstGREncabe If GrupoMaquina = ConstGREncabe Then GrupoMaquinaEsEncabe = True Else GrupoMaquinaEsEncabe = False End If End Function
AnSanval te ruego puedas ayudarme...donde tengo y como tengo que hacer el cambio?
------------- Slds desde Cali Colombia
|