Contenido
Para resaltar valores específicos en una tabla dinámica utilizando VBA, puedes usar un enfoque que involucra recorrer las celdas de la tabla dinámica y aplicar formato condicional basado en tus criterios. Aquí te dejo un ejemplo básico de cómo hacerlo:
Supongamos que queremos resaltar en amarillo las celdas donde el valor es mayor a 1000.
Sub ResaltarValoresEspecificos()
Dim pt As PivotTable
Dim pRange As Range
Dim pCell As Range
' Cambiar "Hoja1" al nombre de la hoja que contiene tu tabla dinámica
' Cambiar "TablaDinámica1" al nombre de tu tabla dinámica
Set pt = ThisWorkbook.Sheets("Hoja1").PivotTables("TablaDinámica1")
' Establecer el rango de datos del cuerpo de la tabla dinámica
Set pRange = pt.DataBodyRange
' Recorrer cada celda en el rango de la tabla dinámica
For Each pCell In pRange
If IsNumeric(pCell.Value) Then
If pCell.Value > 1000 Then
pCell.Interior.Color = RGB(255, 255, 0) ' Amarillo
Else
pCell.Interior.ColorIndex = xlNone ' Quitar color de fondo
End If
End If
Next pCell
' Liberar objetos
Set pRange = Nothing
Set pt = Nothing
End Sub
- Abre el editor de VBA presionando `ALT + F11`.
- Inserta un nuevo módulo desde el menú `Insertar > Módulo`.
- Copia y pega el siguiente código en el módulo:
- Asegúrate de cambiar `»Hoja1″` y `»TablaDinámica1″` a los nombres reales de tu hoja de cálculo y tabla dinámica.
- Ejecuta el macro presionando `F5` o desde el menú `Ejecutar > Ejecutar Sub`.
Este script recorre cada celda en el cuerpo de datos de la tabla dinámica y aplica un color de fondo amarillo a aquellas celdas cuyo valor es mayor a 1000. Asegúrate de adaptar el criterio de selección u otros aspectos del código según tus necesidades específicas.
Recuerda guardar tu archivo con la opción habilitada para macros (*.xlsm) después de agregar este código para conservar los cambios.