Excel - Ordenar columnas excel

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Fco. Javier (4 intervenciones) el 25/03/2019 16:58:14
Buenas tardes.

Tengo varios archivos excel con 3 columnas (KEY, VALUE y FIELD_TXT) y quiero ordenar una de ellas (KEY) con respecto a otra (FIELD_TXT) la cual tiene el dato por el que quiero ordenar en una tercera columna (VALUE). Ver archivo adjunto de ejemplo (Prueba_1)

Como observáis, la tercera columna (FIELD_TXT) tiene nombres de campos cuyo valor está en la segunda columna (VALUE). Pues bien lo que quiero es que se ordene la primera columna respecto al valor de la dirección que hay en la segunda columna. En definitiva, querría que me quedase como el archivo adjunto de ejemplo (Prueba_2):

Espero haberme explicado bien.

¿Como se podría automatizar esto, si es que se puede?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Antoni Masana (2478 intervenciones) el 25/03/2019 19:56:41
Seguramente hay más de una forma de hacerlo pero te cuento lo que se me ocurre.

1
2
3
4
5
6
Recorro desde la fila 2 hasta la primera fila vacía
    Pregunto La celda de la columna B es texto, Guardo el texto : Contador a CERO
    Pongo el texto mas un contador en la columna D
    Sumo 1 al conatdor.
Ordeno por la columna D
Borro la columna D

El contador es para que las 4 lineas (en el caso del ejemplo) queden en el mismo orden.

Asi es como queda antes de ordenar

1
2
3
4
5
6
7
8
9
10
11
12
13
KEY                |  VALUE           |  FIELD_TXT            |
EL132_M_VA02_CDCA  |  FC ABIERTA      |  Título               |  FC ABIERTA_0
EL132_M_VA02_CDCA  |             137  |  Dirección            |  FC ABIERTA_1
EL132_M_VA02_CDCA  |             160  |  Perfil de archivado  |  FC ABIERTA_2
EL132_M_VA02_CDCA  |               6  |  Perfil de muestreo   |  FC ABIERTA_3
EL132_I_PT13_CDLO  |  NIVEL BAJO      |  Título               |  NIVEL BAJO_0
EL132_I_PT13_CDLO  |             259  |  Dirección            |  NIVEL BAJO_1
EL132_I_PT13_CDLO  |             140  |  Perfil de archivado  |  NIVEL BAJO_2
EL132_I_PT13_CDLO  |               3  |  Perfil de muestreo   |  NIVEL BAJO_3
EL132_T_RE01_INBA  |  BATERÍA REMOTA  |  Título               |  BATERÍA REMOTA_0
EL132_T_RE01_INBA  |               2  |  Dirección            |  BATERÍA REMOTA_1
EL132_T_RE01_INBA  |             160  |  Perfil de archivado  |  BATERÍA REMOTA_2
EL132_T_RE01_INBA  |               6  |  Perfil de muestreo   |  BATERÍA REMOTA_3

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Fco. Javier (4 intervenciones) el 26/03/2019 10:16:22
Buenos días.

Lo primero, gracias por la respuesta.

Creo que no me he explicado bien, aparte de haber omitido datos. Lo siento, quería hacer el mensaje lo menos largo posible.

He vuelto a enviar los archivos de prueba. He marcado en verde el dato por el cual quiero que se ordene la columna 1 (KEY). Como veis el dato es númerico y está en la columna 2 (VALUE), pero sólo quiero que se ordene por ese dato que corresponde al campo 'Dirección' de la columna 3 (FIELD_TXT).

El archivo 'Prueba_1' es como está actualmente y el 'Prueba_2' es como quiero que quede.

Espero haberme explicado mejor esta vez.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Antoni Masana (2478 intervenciones) el 26/03/2019 12:23:03
Teniendo el libro y con el comentario que has puesto he realizado la macro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub Ordenar_Tabla()
    Dim Fila As Long, Direc As Long, Titul As String
 
    Fila = 2
    While Cells(Fila, "A") <> ""
        If Cells(Fila, "C") = "Título" Then
           Direc = Cells(Fila + 1, "B") * 100
           Titul = Cells(Fila, "B")
        End If
 
        Cells(Fila, "D") = Format(Direc / 100, "0000000.00#") & "-" & Titul
        Direc = Direc + 1
        Fila = Fila + 1
    Wend
    Fila = Fila - 1
 
MsgBox "Tabla dispuesta para ser ordenada", vbInformation, "BORRAME"
 
    ' ---&--- Ordena la Tabla
 
    Range("A1:D" & Fila).Select
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add _
                                       Key:=Range("D2:D" & Fila), _
                                       SortOn:=xlSortOnValues, _
                                       Order:=xlAscending, _
                                       DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Hoja1").Sort
        .SetRange Range("A1:D" & Fila)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
    ' ---&--- Elimina la columna D
 
    Columns("D:D").Select
    Selection.Delete Shift:=xlToLeft
End Sub

NOTAS:

Desconozco cuanto puede valer el número de la dirección y le he puesto 7 cifras.
Los decimales es para que las filas del mismo grupo sigan en el mismo orden.
Tampoco se si se puede repetir la dirección en otro grupo y añado el título para que Dirección + Título sea único. Creo.
He puesto un MSGBOX para que puedas ver como generó la tabla para ordenar

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Fco. Javier (4 intervenciones) el 26/03/2019 12:25:11
Muchas gracias, la voy a probar y ya comento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ordenar columnas excel

Publicado por Fco. Javier (4 intervenciones) el 26/03/2019 12:34:00
Funciona a la perfección.

Muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar