¿Cómo extraer valores únicos de una tabla dinámica con VBA?

Para extraer valores únicos de una tabla dinámica utilizando VBA en Excel, puedes seguir estos pasos. Este script se encargará de identificar y extraer valores únicos de un campo específico en una tabla dinámica. Aquí te dejo un ejemplo de cómo hacerlo:

Sub ExtractUniqueValuesFromPivot()

    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim uniqueValues As Collection
    Dim i As Integer
    Dim outputSheet As Worksheet
    Dim outputRow As Integer
    
    ' Establece la hoja de trabajo y la tabla dinámica
    Set ws = ThisWorkbook.Sheets("NombreDeTuHojaDeTrabajo")
    Set pt = ws.PivotTables("NombreDeTuTablaDinamica")
    
    ' Establece el campo que deseas analizar
    ' Cambia "NombreDeTuCampo" al nombre del campo del que quieres extraer valores únicos
    Set pf = pt.PivotFields("NombreDeTuCampo")
    
    ' Inicializa una nueva colección para almacenar valores únicos
    Set uniqueValues = New Collection
    
    ' Itera a través de los elementos del campo de la tabla dinámica
    On Error Resume Next
    For Each pi In pf.PivotItems
        ' Solo agrega valores únicos a la colección
        uniqueValues.Add pi.Name, CStr(pi.Name)
    Next pi
    On Error GoTo 0
    
    ' Crea una nueva hoja de trabajo para la salida si no existe
    On Error Resume Next
    Set outputSheet = ThisWorkbook.Sheets("ValoresUnicos")
    If outputSheet Is Nothing Then
        Set outputSheet = ThisWorkbook.Sheets.Add
        outputSheet.Name = "ValoresUnicos"
    End If
    On Error GoTo 0
    
    ' Limpia cualquier dato existente en la hoja de destino
    outputSheet.Cells.Clear
    
    ' Establece el inicio de la fila en la hoja de salida
    outputRow = 1
    
    ' Agrega cada valor único a la hoja de salida
    For i = 1 To uniqueValues.Count
        outputSheet.Cells(outputRow, 1).Value = uniqueValues(i)
        outputRow = outputRow + 1
    Next i
    
    MsgBox "Valores únicos extraídos exitosamente a la hoja 'ValoresUnicos'.", vbInformation

End Sub

Pasos a seguir:

  • Asegúrate de que tu tabla dinámica y las hojas de trabajo tengan los nombres correctos y actualiza `»NombreDeTuHojaDeTrabajo»` y `»NombreDeTuTablaDinamica»` en el script con el nombre de tu hoja de trabajo y la tabla dinámica específica que estés utilizando.
  • El campo específico del que deseas extraer los valores únicos debe ser reemplazado en `»NombreDeTuCampo»`.
  • Si no existe una hoja llamada `»ValoresUnicos»`, el script creará una nueva hoja con ese nombre donde listará los valores únicos extraídos.
  • Copia el código VBA en el Editor de VBA (puedes abrirlo con `Alt + F11`), insértalo en un nuevo módulo, y luego ejecuta el script.

Este script examina los elementos del campo de la tabla dinámica, agrega valores únicos a una colección y los exporta a una nueva hoja de cálculo o a la hoja existente.

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