Reemplazo de horas
Publicado por Marcos (2 intervenciones) el 22/05/2023 15:48:36
No me resulta este código, por favor alguien me puede ayudar para saber qué está mal
Sub ReemplazarHora()
Dim columna As Range
Dim celda As Range
Dim horaOriginal As Date
Dim horaReemplazo As Date
' Especifica la hoja de trabajo y la columna donde se encuentra la hora a reemplazar
Dim hoja As Worksheet
Set hoja = ThisWorkbook.Sheets("reporte") ' Reemplaza "Nombre de la hoja" con el nombre de tu hoja de trabajo
Dim columnaReemplazo As Range
Set columnaReemplazo = hoja.Range("K:K") ' Reemplaza "A:A" con la referencia de tu columna
' Especifica la hora original y la hora de reemplazo
horaOriginal = TimeValue("18:00:00")
horaReemplazo = TimeValue("18:59:59")
' Desactiva el cálculo automático para mejorar el rendimiento
Application.Calculation = xlCalculationManual
' Desactiva el refresco de pantalla para mejorar el rendimiento
Application.ScreenUpdating = False
' Recorre cada celda en la columna
For Each celda In columnaReemplazo
' Verifica si el contenido de la celda es una hora
If IsDate(celda.Value) Then
' Verifica si la hora en la celda coincide con la hora original
If TimeValue(celda.Value) = horaOriginal Then
' Reemplaza la hora original por la hora de reemplazo
celda.Value = horaReemplazo
End If
End If
Next celda
' Activa el cálculo automático nuevamente
Application.Calculation = xlCalculationAutomatic
' Activa el refresco de pantalla nuevamente
Application.ScreenUpdating = True
End Sub
Sub ReemplazarHora()
Dim columna As Range
Dim celda As Range
Dim horaOriginal As Date
Dim horaReemplazo As Date
' Especifica la hoja de trabajo y la columna donde se encuentra la hora a reemplazar
Dim hoja As Worksheet
Set hoja = ThisWorkbook.Sheets("reporte") ' Reemplaza "Nombre de la hoja" con el nombre de tu hoja de trabajo
Dim columnaReemplazo As Range
Set columnaReemplazo = hoja.Range("K:K") ' Reemplaza "A:A" con la referencia de tu columna
' Especifica la hora original y la hora de reemplazo
horaOriginal = TimeValue("18:00:00")
horaReemplazo = TimeValue("18:59:59")
' Desactiva el cálculo automático para mejorar el rendimiento
Application.Calculation = xlCalculationManual
' Desactiva el refresco de pantalla para mejorar el rendimiento
Application.ScreenUpdating = False
' Recorre cada celda en la columna
For Each celda In columnaReemplazo
' Verifica si el contenido de la celda es una hora
If IsDate(celda.Value) Then
' Verifica si la hora en la celda coincide con la hora original
If TimeValue(celda.Value) = horaOriginal Then
' Reemplaza la hora original por la hora de reemplazo
celda.Value = horaReemplazo
End If
End If
Next celda
' Activa el cálculo automático nuevamente
Application.Calculation = xlCalculationAutomatic
' Activa el refresco de pantalla nuevamente
Application.ScreenUpdating = True
End Sub
Valora esta pregunta


0