
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:
[/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
Dim cht As ChartObject
For Each cht In Sheets("GRAFICOS").ChartObjects
cht.Delete
Next cht
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


0