Visual Basic para Aplicaciones - Orden Personalizado en columnas de una tabla dinámica

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 10
Ha disminuido su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Orden Personalizado en columnas de una tabla dinámica

Publicado por Gerardo (6 intervenciones) el 26/01/2020 19:33:23
Buenas tardes

Quisiera su apoyo

Tengo la siguiente tabla dinámica

Captura

Y deseo ordenar las columnas de las tablas en el siguiente orden

01 Por Surtir
02 Surtiendo
03 Pared Excepciones
04 Vas Station
05 No Read
06 Sorter
07 Spur 17
08 Spur Ok
09 Pallet
10 P&H
11 Loaded on truck
12 Load Truck
13 Shipped
14 Cancelada

El tema es que no siempre aparecen todas esas columnas, como se ve en la imagen

Otro problema, es que la compañía no me deja renombrar las columnas como "01 Por Surtir" , si lo pudiera hacer, seria muy fácil obtener el orden que deseo

Saludos cordiales
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 Dirk
Val: 50
Ha aumentado 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Orden Personalizado en columnas de una tabla dinámica

Publicado por Dirk (20 intervenciones) el 30/01/2020 20:10:24
Hola Gerardo, por lo que puedo ver quieres ordenar por los Items del campo Seguimiento, para eso puedes usar la instrucción

1
2
3
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Seguimiento").PivotItems("Por Surtir").Position = 1
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Seguimiento").PivotItems("Surtiendo").Position = 2
ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Seguimiento").PivotItems("Pared Excepciones").Position = 3

y así con el resto de los Item y en el orden que quieras, ten en cuenta el nombre de la tabla dinámica...

Espero de sirva...

Salu2
Dirk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 10
Ha disminuido su posición en 5 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Orden Personalizado en columnas de una tabla dinámica

Publicado por Gerardo (6 intervenciones) el 31/01/2020 15:07:48
Hola

El problema, es que no siempre estan las 14 columnas, asi que segun yo, necesito hacer un bucle que me recorra todas las columnas y cuando encuentre la columna "Por Surtir" le asigne el valor de una variable, que para entonces sera 1, despues de asignar el valor a la columna, incremente en 1, por lo que la variable valdria 2, despues a la siguiente vuelta de bucle, si encuentra "Surtiendo" le asigne el valor 2 e incremente nuevamente la variable, pero si no hay ninguna columna con ese nombre, que asigne el valor 2 a la siguiente columna que encuentre, que puede ser "Pared Exepciones" o "Vas Station"

No se si me di a entender

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
Imágen de perfil de Dirk
Val: 50
Ha aumentado 1 puesto en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Orden Personalizado en columnas de una tabla dinámica

Publicado por Dirk (20 intervenciones) el 31/01/2020 18:41:32
Si ese Item está presente en el Campo no te va a dar error, solo no lo mostraría por los filtros que tenga la tabla, yo lo tengo implementado en un archivo.... también puedes usar 'on error resume next', si te da error.... que siga....

Salu2
Dirk
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