Dividir datos de celdas en filas

He buscado y rebuscado por el foro e internet en general pero no he encontrado nada. Lo necesito para manejar los resultados de un curso gratuito que imparto una vez al año.
Yo sé dividir los datos de una celda en columnas, pero ahora lo que quiero es lo siguiente:
Tengo unos datos separados por ";" que son notas de 0 a 100, puede variar la longitud(y a veces es un DNI en vez de un número únicamente), están en la misma celda y yo lo que pretendo es que cada vez que hay en una celda más de un valor separado por ";" se inserte una nueva fila por cada valor, extraiga cada valor a una fila, y copie el resto de celdas de las otras columnas con los mismos valores que tiene la primera.
Notadiahora
8702/09/201319:00
45;8905/08/201310:00
33;87;5512/05/201314:00
99999999Z13/05/201311:30
QUE PASE A ESTO
NOTADIAHORA
8702/09/201319:00
4505/08/201310:00
8905/08/201310:00
3312/05/201314:00
8712/05/201314:00
5512/05/201314:00
99999999Z13/05/201311:30
Estoy muy atascada y no manejo casi nada el vb, a ver si me podéis ayudar los cracks del excel!

1 Respuesta

Respuesta
2

Para resolverlo tendría que ser con VBa (una macro), si gustas la realizo.

Ahora explícame, para este caso 45;8905/08/201310:00

Quieres que se divida en 2, el primero 45, me queda claro, ese número es el que se encuentra antes del ; pero la fecha debo tomar 2 dígitos antes de la primera diagonal, ¿qué supongo corresponden al día de la fecha?

Hola, al copiar y pegar no se me puso bien el texto.

Te dejo una imagen que lo verás mucho mejor! gracias!!

http://fotos.subefotos.com/cbb51769ec625a7eca87f6e4c8a8cbbeo.jpg

Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: divide
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub divide()
'Por.DAM
Set h1 = Sheets("hoja1")
Set h2 = Sheets("hoja2")
h2.Cells.Clear
j = 2
For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
    If InStr(1, Cells(i, "A"), ";") > 0 Then
        c = Split(Cells(i, "A"), ";")
        For k = LBound(c) To UBound(c)
            h2.Range("A" & j) = c(k)
            h1.Range("B" & i, "C" & i).Copy h2.Range("B" & j)
            j = j + 1
        Next
    Else
        Rows(i).Copy h2.Range("A" & j)
        j = j + 1
    End If
Next
h2.Select
End Sub

La macro lee los valores d ela hoja1 y te deja el resultado en la hoja2

Cambia en la macro la "hoja1" y la "hoja2" por los nombres que quieras.

Saludos. DAM
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas