Pasar datos de una hoja a otra de excel pero que salgan ordenados alfabéticamente

Tengo un libro de cuatro hojas dos de 1año y dos de 2 año, en el cual anoto como van llegando los alumnos pero luego necesito trasladar los campos numero, apellido, nombre dni. Pero que se ordenen por el apellido

1 Respuesta

Respuesta
1

No me queda claro qué necesitas: si una macro que te haga el pase de las hojas o una para que luego te ordene la lista.

Para todo se necesitan las referencias: de dónde a dónde vas a copiar (hojas inicio/hojas destino)... cuántas columnas ... desde qué fila (o sea los rangos).

Aclara un poco más la consulta. En lo posible con imágenes de las hojas donde se vean los encabezados de filas y col ( con 1 fila de datos es suficiente para tener una idea de los campos).

 

las columnas que necesito que pasen de la hoja (1 año A) a la hoja 4 son las columnas A,B.C D

pero cuando estén en la hoja4 se ordenen por la columna B apellido , lo mismo seria con la hoja (2añoA) a la hoja 5

Aquí dejo la macro que se ejecutará estando en la hoja que debe ser pasada, o sea 1° o 2° año. La col B no debiera tener más contenido (ni notas ni comentarios) más allá de los datos de los alumnos.

Sub pasaDatos()
'x Elsamatilde
'según la hoja activa será la hoja de destino
If Left(ActiveSheet.Name, 1) = 1 Then Set hod = Sheets("Hoja4")
If Left(ActiveSheet.Name, 1) = 2 Then Set hod = Sheets("Hoja5")
'filas de origen
fini = Range("B" & Rows.Count).End(xlUp).Row
'copia
Range("A6:D" & fini).Copy Destination:=hod.[A6]
'se activa la hoja destino y se la ordena
hod.Activate
Range("A6:D" & fini).Select
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range("B6:B" & fini), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A5:D" & fini)
        .Header = xlYes
        .Apply
    End With
[A6].Select
End Sub

Por supuesto que faltaría aclarar algunos otros detalles... pero esto es lo que enviaste. En próximas consultas recordá de enviar todos los detalles que puedan 'modificar' el escenario que se observa en la imagen que adjuntás.

Por ej, si las hojas de años tienen información más allá de los datos (como filas de totales o comentarios), si deben limpiarse las hojas de destino antes del pase. Si el destino empieza también en fila 6...

Sdos!

desde ya muchas gracias por su atención, tengo que seguir probando , no estoy muy en el tema de macros y no tengo ideas como se coloca , pero nuevamente muchas gracias por su atención

veré como  se puede hacer lo que me envió

¿Qué necesitas saber? ¿Cómo ejecutarla? ¿Dónde colocarla? Solo tenés que preguntar... no podemos conocer hasta dónde llegan tus conocimientos en macros.

Pero valorar así porque sí no me motiva a seguir explicándote. Podé leerlo desde la sección Macros de mi sitio:

http://aplicaexcel.com/macros.htm 

Sdos!

Tengo conocimiento (0) si como se hace, donde colocar, no preguntaba porque no se hasta donde pueden explicar, pregunte por macro porque leía que se podrían hacer cosas, como estaba trabajando con ese archivo que tengo estoy apurado para entregarlo, mientras seguiré copiando y pegando nombre, gracias nuevamente

PD Si se puede por algún lado le enviare el archivo, si es que se puede

En el banner superior de mi sitio aparecen mis correos, podés tomar el de cibersof. Arg de Gmail.

Pero cambia tu valoración

El corrector cambió los textos y se comió parte de la respuesta: cibersoft PUNTO arg

Y cambia tu valoración

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas