Excel - Bucle que me elimine los segmentadores de datos insertados en una hoja.

 
Vista:
sin imagen de perfil

Bucle que me elimine los segmentadores de datos insertados en una hoja.

Publicado por Rafael (102 intervenciones) el 30/08/2024 10:13:50
Mediante el código que insertaré a continuación -y que se me facilitó en estos foros- conseguí eliminar cualquier gráfico insertado en una hoja, cualquiera que fuera también su nombre. Este fue el código:

1
2
3
4
Dim cht As ChartObject
    For Each cht In Sheets("GRAFICOS").ChartObjects
        cht.Delete
    Next cht
[/code]

Ahora, descubiertos los INCREÍBLES segmentadores o 'slicers' de datos [y escalas de tiempo aunque con éstas, aparentemente, no se me presentan problemas...], precisaría hacer con ellos lo mismo que hago con los gráficos: eliminarlos tras pulsar un botón o incardinar tal eliminación en determinado procedimiento VBA. Es decir eliminar todos y cada uno de los segmentadores que POTENCIALMENTE existan o puedan existir en una hoja.

Como se deduce de lo dicho antes los segmentadores se insertan en la hoja, dependiendo del modo y momento en que lo hago, con NOMBRES DISTINTOS -y ahí está el problema-. En el momento actual, este el el código que los inserta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
SegmGRAF Macro:
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Sexo").Slicers.Add ActiveSheet, , "Sexo", "Sexo", 11.25, 321, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "DiasIngr").Slicers.Add ActiveSheet, , "DiasIngr", "DiasIngr", 48.75, 358.5, _
        144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "NumIngr").Slicers.Add ActiveSheet, , "NumIngr", "NumIngr", 86.25, 396, 144, _
        198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Voluntariedad").Slicers.Add ActiveSheet, , "Voluntariedad", "Voluntariedad" _
        , 123.75, 433.5, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Medio").Slicers.Add ActiveSheet, , "Medio", "Medio", 161.25, 471, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Diagntico1").Slicers.Add ActiveSheet, , "Diagntico1", "Diagntico1", 198.75, _
        508.5, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Diagntico2").Slicers.Add ActiveSheet, , "Diagntico2", "Diagntico2", 236.25, _
        546, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Diagntico3").Slicers.Add ActiveSheet, , "Diagntico3", "Diagntico3", 273.75, _
        583.5, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Diagntico4").Slicers.Add ActiveSheet, , "Diagntico4", "Diagntico4", 311.25, _
        621, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "Intervalo Edad").Slicers.Add ActiveSheet, , "Intervalo Edad", _
        "Intervalo Edad", 348.75, 658.5, 144, 198.75
    ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("TablaDinámica1"), _
        "TipoIMC").Slicers.Add ActiveSheet, , "TipoIMC, "TipoIMC", 386.25, 696, 144 _
        , 198.75
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder