Código para seleccionar columnas en VBA
He utilizado un código de Elsa Matilde y me ha venido genial para una hoja que estoy preparando para facilitarme un poco el trabajo. El código es este:
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
'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
El problema es que solo quiero seleccionar la columna DE, E, F, G y lo he intentado de todas maneras pero no consigo que funcione, así que me esta dando bastante problemas con el resto de celdas de la hoja ya que me sale todo con ese formato y no puedo cambiarlo por ejemplo si pongo MARZO en una celda lo transcribe así M:AR:ZO.
Tampoco me da el resultado correcto a la hora de sumar horas con el formato de 24 horas [h]: mm
Si me pudieras ayudar os lo agradecería mucho.