¿Cómo aplicar formato condicional a un campo calculado en una tabla dinámica con VBA?

Para aplicar formato condicional a un campo calculado en una tabla dinámica utilizando VBA (Visual Basic for Applications) en Excel, debes seguir varios pasos. Aquí hay una guía detallada para lograrlo:

Sub AplicarFormatoCondicionalCampoCalculado()

    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim ws As Worksheet
    Dim rangoTablaDinamica As Range
    Dim celda As Range

    ' Cambia "Hoja1" por el nombre de la hoja que contiene tu tabla dinámica
    Set ws = ThisWorkbook.Sheets("Hoja1")

    ' Cambia "TablaDinámica1" por el nombre de tu tabla dinámica
    Set pt = ws.PivotTables("TablaDinamica1")
    
    ' Cambia "NombreDelCampoCalculado" por el nombre de tu campo calculado
    Set pf = pt.PivotFields("NombreDelCampoCalculado")
    
    ' Obtén el rango de la tabla dinámica
    Set rangoTablaDinamica = pt.DataBodyRange
    
    ' Comprueba si el rango no está vacío
    If Not rangoTablaDinamica Is Nothing Then

        ' Recorre cada celda en el rango de la tabla dinámica
        For Each celda In rangoTablaDinamica
        
            ' Verifica si la celda pertenece al campo calculado
            If celda.PivotField.Name = pf.Name Then
            
                ' Aplica el formato condicional según la condición requerida
                ' Ejemplo: si el valor es mayor que 100, aplica un color de fondo amarillo
                If celda.Value > 100 Then
                    celda.Interior.Color = RGB(255, 255, 0) ' Amarillo
                Else
                    celda.Interior.ColorIndex = xlNone ' Sin color
                End If
            
            End If
            
        Next celda
    
    End If

End Sub
  • Acceder al Editor de VBA:
    • Abre Excel.
    • Presiona `ALT + F11` para abrir el Editor de VBA.
  • Insertar un Módulo Nuevo:
    • En el Editor de VBA, haz clic en `Insertar` > `Módulo`. Esto creará un nuevo módulo donde puedes escribir tu código VBA.
  • Escribir el Código VBA:
    • Usa el siguiente código como referencia para aplicar formato condicional. Este código asume que ya tienes una tabla dinámica creada en una hoja de tu libro de Excel.
  • Personalizar el Código:
    • Asegúrate de cambiar `»Hoja1″`, `»TablaDinamica1″`, y `»NombreDelCampoCalculado»` a los nombres correctos que corresponden a tu hoja, tabla dinámica y campo calculado en tu libro de Excel.
    • Modifica la condición y el color en la sección de `If celda.Value > 100 Then` según tus necesidades.
  • Ejecutar el Código:
    • Dentro del Editor de VBA, coloca el cursor dentro del cuerpo del subprocedimiento `AplicarFormatoCondicionalCampoCalculado`.
    • Presiona `F5` o haz clic en `Ejecutar` > `Ejecutar Sub/UserForm` para ejecutar el macro.

Este código revisará cada celda en la parte de los datos de tu tabla dinámica y aplicará el formato condicional solo a las celdas que pertenecen al campo calculado especificado. Puedes modificar el tipo de formato condicional y la lógica de la condición según sea necesario para tu aplicación específica.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario