Contenido
Para ordenar un campo en una tabla dinámica utilizando VBA en Excel, puedes seguir estos pasos. Suponiendo que ya tienes una tabla dinámica creada en tu hoja de Excel, aquí te proporciono un ejemplo de cómo podrías ordenar un campo específico:
Sub OrdenarCampoTablaDinamica()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
' Establece la hoja de trabajo que contiene la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeLaHoja") ' Cambia "NombreDeLaHoja" por el nombre de tu hoja
' Establece la tabla dinámica que deseas modificar
Set pt = ws.PivotTables("NombreDeLaTablaDinamica") ' Cambia "NombreDeLaTablaDinamica" por el nombre de tu tabla dinámica
' Establece el campo que deseas ordenar
Set pf = pt.PivotFields("NombreDelCampo") ' Cambia "NombreDelCampo" por el nombre del campo que deseas ordenar
' Ordena el campo en orden ascendente
pf.AutoSort xlAscending, pf.Name
End Sub
Instrucciones:
- Abrir el Editor de VBA: Presiona `ALT + F11` en Excel para abrir el Editor de Visual Basic for Applications.
- Insertar un Módulo: Haz clic en `Insertar` > `Módulo` para insertar un nuevo módulo.
- Pegar el Código: Copia y pega el código anterior en el nuevo módulo.
- Modificar el Código: Asegúrate de cambiar `»NombreDeLaHoja»`, `»NombreDeLaTablaDinamica»`, y `»NombreDelCampo»` por los nombres correspondientes de tu hoja, tabla dinámica y campo que deseas ordenar.
- Ejecutar el Código: Puedes ejecutar el macro presionando `F5` dentro del editor VBA o asignándole el macro a un botón en Excel.
Este script ordena el campo especificado de manera ascendente. Si necesitas ordenar de manera descendente, cambia `xlAscending` por `xlDescending`.