Modificar formato de hora de número a "xx:xx:xx"
Tengo una columna con horas, pero en formato " 191814" y lo necesito en "19:18:14. En una de las preguntas de este foro, he encontrado una muy buena respuesta, pero el problema es que tal y como está creada, solo puedo introducir los datos uno a uno, en el momento que pego en la columna mas de una celda, me da error, por exceder el límite de dígitos. ¿Cómo podría hacerlo para pegar una columna de datos de este tipo y poder pasarlo al otro formato?
Os dejo el ejemplo que os he dicho con el que me lo cambia, pero de uno en uno
Un saludo y muchas gracias por la ayuda
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
Dim celda As String
Dim horas As String
Dim minutos As String
Dim segundos As String
'solo controla la col B
If Target.Column <> 2 Then Exit Sub
'controla el largo del dato
If Len(Target) < 4 Or Len(Target) > 6 Then Exit Sub
celda = Target.Value
If Len(Target) = 4 Then
horas = 0
minutos = Mid(celda, 1, 2)
segundos = Right(celda, 2)
ElseIf Len(Target) = 5 Then
horas = Left(celda, 1)
minutos = Mid(celda, 2, 2)
segundos = Right(celda, 2)
Else
horas = Left(celda, 2)
minutos = Mid(celda, 3, 2)
segundos = Right(celda, 2)
End If
celda = horas & ":" & minutos & ":" & segundos
'para que no se vuelva a ejecutar el change
Application.EnableEvents = False
Target = celda
Application.EnableEvents = True
End sub