Contenido
Para eliminar un campo de una tabla dinámica utilizando VBA en Excel, puedes seguir estos pasos. Supongamos que tienes una tabla dinámica configurada y deseas quitar uno de los campos de filas, columnas o filtros. A continuación te proporciono un ejemplo de cómo hacerlo:
Sub EliminarCampoTablaDinamica()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim nombreCampo As String
' Establece el nombre del campo que deseas eliminar
nombreCampo = "NombreDelCampo"
' Asegúrate de establecer la hoja de trabajo y la tabla dinámica correctas
Set ws = ThisWorkbook.Sheets("Hoja1") ' Cambia "Hoja1" al nombre de tu hoja
Set pt = ws.PivotTables("TablaDinámica1") ' Cambia "TablaDinámica1" al nombre de tu tabla dinámica
' Intentar eliminar el campo de las filas
On Error Resume Next
Set pf = pt.PivotFields(nombreCampo)
pf.Orientation = xlHidden
On Error GoTo 0
' Nota: Este código intentará eliminar el campo tanto de las filas, columnas y filtros
' Revisar si el campo aún existe si estaba en columnas o filtros
On Error Resume Next
pt.PivotFields(nombreCampo).Orientation = xlHidden
On Error GoTo 0
MsgBox "Campo eliminado, si existía."
End Sub
- Abre el Editor de Visual Basic (presiona `ALT + F11` en Excel).
- Inserta un nuevo módulo si no lo tienes (haz clic en `Insertar` > `Módulo`).
- Copia y pega el siguiente código, modificándolo según tus necesidades:
Instrucciones para usar el código:
- Cambia `»NombreDelCampo»` por el nombre del campo que deseas eliminar en tu tabla dinámica.
- Asegúrate de que `»Hoja1″` sea el nombre de la hoja donde se encuentra la tabla dinámica y actualízalo si es necesario.
- Cambia `»TablaDinámica1″` con el nombre real de tu tabla dinámica, que puedes encontrar en las opciones de la tabla dinámica bajo `Opciones` > `Tabla dinámica`.
Con este script, el campo especificado se eliminará de las orientaciones de fila, columna y filtro de la tabla dinámica. Si el campo no existe en ninguna de estas ubicaciones, no ocurrirá nada.