none
Crear Lista de nombres con espacios RRS feed

  • Pregunta

  • Hola, soy nuevo en esta parte del foro.

    yo no manejo muy bien excel, tengo una lista de nombres uno abajo del otro y necesito separarlos por 4 filas cada uno, esta es una lista muy grande y me saldría muy tedioso y lento  hacerlo de forma manual, alguein sabe la forma de hacerlo de forma automatica, con macros o formulas o algo asi?

     

    gracias de antemano

    lunes, 2 de octubre de 2006 19:44

Respuestas

  • Aqui te mando un cod q te puede ayudar, lleva los datos a una tabla de 3 por 3.... para tablas de otro tamaño cambia la variable filas y columnas.

    Sub Macro1()
        Dim datos As Range
        Set datos = Range("D7:D15")
       
        filas = 3
        col = 3
        For Each x In datos
            nc = nc + 1
            If nc > col Then
                nc = 1
                nf = nf + 1
            End If
           
            Cells(20 + nf, 2 + nc).Value = x.Value
           
        Next x
       
    End Sub

     

    ok me avisas si necesitas mas.. suerte

    miércoles, 4 de octubre de 2006 18:14
  • Suponiendo que los nombres estan en la columna A:A y empiezan desde la fila 2:2 prueba el siguiente codigo:

    Sub test()
        Dim i As Long
        Application.ScreenUpdating = False
        With ActiveSheet
            For i = .[A65536].End(xlUp).Row To 3 Step -1
                .Rows(i).Resize(4).Insert xlDown
            Next i
        End With
        Application.ScreenUpdating = True
    End Sub

    jueves, 5 de octubre de 2006 1:43

Todas las respuestas

  • Aqui te mando un cod q te puede ayudar, lleva los datos a una tabla de 3 por 3.... para tablas de otro tamaño cambia la variable filas y columnas.

    Sub Macro1()
        Dim datos As Range
        Set datos = Range("D7:D15")
       
        filas = 3
        col = 3
        For Each x In datos
            nc = nc + 1
            If nc > col Then
                nc = 1
                nf = nf + 1
            End If
           
            Cells(20 + nf, 2 + nc).Value = x.Value
           
        Next x
       
    End Sub

     

    ok me avisas si necesitas mas.. suerte

    miércoles, 4 de octubre de 2006 18:14
  • Suponiendo que los nombres estan en la columna A:A y empiezan desde la fila 2:2 prueba el siguiente codigo:

    Sub test()
        Dim i As Long
        Application.ScreenUpdating = False
        With ActiveSheet
            For i = .[A65536].End(xlUp).Row To 3 Step -1
                .Rows(i).Resize(4).Insert xlDown
            Next i
        End With
        Application.ScreenUpdating = True
    End Sub

    jueves, 5 de octubre de 2006 1:43
  • Gracias a ambos, las dos soluciones son efectivas con unos ajustes.

     

    Saludos

    sábado, 7 de octubre de 2006 0:18
  • Ah, si? Y a mi me parecia que los dos codigos hacian cosas totalmente distintas :-)))
    sábado, 7 de octubre de 2006 10:40
  • El primero copia las lista original a la derecha de esta, el segundo me modifica la original, como dije, ambas con unas pequeñas mods, me funcionan, aunque la segunda es un poco mas efectiva porque me ahorra borrar los nombres originales.

     

    saludos

    sábado, 7 de octubre de 2006 14:36