Desfragmentar los datos de las celdas de excel

Es la primera macro que hago y no consigo lo que necesito. Mediante una macro he conseguido poder obtener datos de un programa y exportarlos al excel. Los datos me salen en cuatro columnas. Periodo, fecha, dispositivo y valor. Las fechas van variando por lo que las tablas no tienen siempre el mismo tamaño. La fechas me salen de la forma DDMMAAAAHHMMSS. Me interesaría poder separar la fecha para poder tratar los datos de una manera más sencilla y así poder hacer gráficos.
Lo único que he conseguido con la macro es insertar nuevas columnas y ponerles el titulo. Pero no sé cómo hacer para que lea cuántas filas hay y rellene las columnas automáticamente.
Sub Macro6()
'
'
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("C8").Select
ActiveCell.FormulaR1C1 = "dia"
Columns("D:D").Select
Selection.Insert Shift:=xlToRight
Range("D8").Select
ActiveCell.FormulaR1C1 = "mes"
Columns("E:E").Select
Selection.Insert Shift:=xlToRight
Range("E8").Select
ActiveCell.FormulaR1C1 = "año"
Columns("F:F").Select
Selection.Insert Shift:=xlToRight
Range("F8").Select
ActiveCell.FormulaR1C1 = "hora"
Columns("G:G").Select
Selection.Insert Shift:=xlToRight
Range("G8").Select
ActiveCell.FormulaR1C1 = "min"
Columns("H:H").Select
Selection.Insert Shift:=xlToRight
Range("H8").Select
ActiveCell.FormulaR1C1 = "seg"
End Sub
he intentado hacerlo con el siguiente codigo pero no funciona y tampoco se como seguir
Sub FillToEndOfColumn()
Dim i As Integer
Dim j As Integer
'encontrar la ultima celda en esta columna
i = Cells(ActiveCell.Column, B).End(xlUp).Row
'autofill desde la celda activa hasta la ultima en la columna
ActiveCell.AutoFill Range(ActiveCell, Cells(ActiveCell.Row, i))
End Sub

1 respuesta

Respuesta
1
Tienes que probar con un ciclo Do While...Loop o un For...Next.
Range("D8").Select
Do While ActiveCell.Value <> ""
      Tu_Codigo
Loop

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas