Ocultar Filtros en Tablas Dinámicas
-
Upload
felixdavidleiva6520 -
Category
Documents
-
view
228 -
download
0
Transcript of Ocultar Filtros en Tablas Dinámicas
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
1/11
Ocultar filtros en tablas dinámicasMARTES, SEPTIEMBRE 22, 2015
Cuando creamos una tabla dinámica Excel instala filtros en los distintos campos (filas,
columnas y filtro del informe)
Si por algún motivo queremos ocultar las flechas de los filtros, por eemplo para evitar que
un usuario cambie el contenido del informe, podemos usar la opci!n "Encabe#ados de
campos" en el grupo $ostrar en las %pciones de las tablas dinámicas
&ero esta opci!n tiene un problema' no s!lo quita las flechas sino tambin los encabe#ados
http://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.htmlhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
2/11
y como bono adicional, no quita el encabe#ado ni la flecha del filtro del informe *os
encabe#ados Ciudad, +gente y +o han desaparecido del informe deando a nuestro
desprevenido y poco informado usuario cavilando sobre si -anet *everling es un agente de
ventas o tal ve# un cliente
&ara quitar las flechas de los filtros sin quitar los encabe#ados podemos usar esta macro
Sub ocultar_Filtros()
Dim ptbl As PivotTable
Dim pfld As PivotField
Set ptbl = ActiveSheet.PivotTables(1)
For Each pfld In ptbl.PivotFields
pfld.EnableItemSelection = False
Next pfld
End Sub
Esta animaci!n muestra el resultado
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
3/11
&ara volver a mostrar los filtros usamos esta macro, igual a la anterior pero con la
propiedad Enable.temSelection con el valor /rue
Sub mostrar_Filtros()
Dim ptbl As PivotTable
Dim pfld As PivotField
Set ptbl = ActiveSheet.PivotTables(1)
For Each pfld In ptbl.PivotFields
pfld.EnableItemSelection = True
Next pfld
End Sub
0e la misma manera podemos ocultar el filtro de un determinado campo &ara evitar que el
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
4/11
usuario pueda filtrar el informe por +gente usamos esta macro
Sub ocultar_Item()
Dim ptbl As PivotTable
Dim pfld As PivotField
Set ptbl = ActiveSheet.PivotTables(1)
ptbl.PivotFields("Agente").EnableItemSelection = False
End Sub
&ara volver a mostrar el filtro del campo cambiamos el valor de la
propiedad Enable.temSelection a /rue
Posted by Jorge Dunkelmn t 1!"# $%m% , &'nks to t('s $ost
En)'r esto $or *orreo ele*tr+n'*oBlogT('s-om$rt'r en T.'tter-om$rt'r en /*ebook-om$rt'r en P'nterest
, 2 *omments
&bels! M*ros, Tbls D'nm'*s
Formato numérico de campos de datos en tablas dinámicas&ES, A3ST3 24, 2015
&odemos considerar dos formas de organi#ar datos en una hoa de Excel' en forma plana
("flat file") y en forma tabular ("tabular dataset ") Supongamos una de tabla de ventas que
muestra las cantidades vendidas de distintos productos por ao Si organi#amos la tabla en
forma plana tendremos algo as1
http://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.htmlhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#linkshttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=emailhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=bloghttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=twitterhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=facebookhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=pinteresthttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#comment-formhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#comment-formhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#comment-formhttp://jldexcelsp.blogspot.mx/search/label/Macroshttp://jldexcelsp.blogspot.mx/search/label/Tablas%20Dinamicashttp://jldexcelsp.blogspot.mx/2015/08/formato-numerico-de-campos-de-datos-en.htmlhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.htmlhttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#linkshttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=emailhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=bloghttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=twitterhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=facebookhttps://www.blogger.com/share-post.g?blogID=21116310&postID=6943660558228290242&target=pinteresthttp://jldexcelsp.blogspot.mx/2015/09/ocultar-filtros-en-tablas-dinamicas.html#comment-formhttp://jldexcelsp.blogspot.mx/search/label/Macroshttp://jldexcelsp.blogspot.mx/search/label/Tablas%20Dinamicashttp://jldexcelsp.blogspot.mx/2015/08/formato-numerico-de-campos-de-datos-en.html
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
5/11
En cambio si organi#amos los datos en forma tabular, tendremos esta tabla
Esta última forma donde todos los valores (datos numricos) están en una única columna
(un solo único campo numrico) es la más eficiente para trabaar con tablas dinámicas
&ero si tenemos que crear una tabla dinámica a partir de una matri# de datos plana
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
6/11
descubriremos que cada campo de valor (las columnas 2343, 2344, etc, en el primer
eemplo) debe ser arrastrado individualmente al área de los datos 5 lo mismo cuenta para
el formato de los números Excel da por defecto formato "6eneral" a los datos numricos
+l crear esta tabla dinámica
si queremos cambiar el formato de los valores tendremos que hacerlo campo por campo,
cinco veces en nuestro caso En nuestro auxilio vendrán las macros, como cada ve# que
tenemos que queremos automati#ar una tarea repetitiva
Si tenemos una única tabla dinámica en la hoa activa podemos usar esta macro
Sub format_NUM_1()
Dim strFormatSelected As String
Dim oPTable As PivotTable
Dim oPField As PivotField
Dim iPTCount As Integer
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
7/11
iPTCount = ActiveSheet.PivotTables.Count
If iPTCount = 0 Then
MsgBox "No se encontraron tablas dinamicas en la hoja", _
vbInformation, _
"Formato numerico"
Exit Sub
End If
Set oPTable = ActiveSheet.PivotTables(1)
Application.Dialogs(xlDialogFormatNumber).Show
strFormatSelected = ActiveCell.NumberFormat
For Each oPField In oPTable.DataFields
oPField.NumberFormat = strFormatSelected
Next oPField
End Sub
7samos el mtodo Application.Dialogs(xlDialogFormatNumber).Show para abrir el diálogo
de formato de números, capturamos la elecci!n de usuario y con el loop For Each...Next lo
aplicamos a todos los campos de datos de la tabla
Este video muestra el funcionamiento
Si hay más de una tabla dinámica en la hoa activa tendremos que complicar un poco
nuestro c!digo
Sub format_NUM_all()
Dim strFormatSelected As String
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
8/11
Dim oPTable As PivotTable
Dim oPField As PivotField
Dim iPTCount As Integer
Dim iX As Integer
iPTCount = ActiveSheet.PivotTables.Count
If iPTCount = 0 Then
MsgBox "No se encontraron tablas dinamicas en la hoja", _
vbInformation, "Formato numerico"
Exit Sub
End If
With Application
.ScreenUpdating = False
.Dialogs(xlDialogFormatNumber).Show
strFormatSelected = ActiveCell.NumberFormat
For iX = 1 To iPTCount
For Each oPField In ActiveSheet.PivotTables(iX).DataFields
oPField.NumberFormat = strFormatSelected
Next oPField
Next iX
.ScreenUpdating = True
End With
&odemos llevar nuestra macro un paso más adelante y dar al usuario la posibilidad de elegir
que tabla dinámica formar de las que se encuentran en la hoa activa
En este caso tendremos que agregar un 7serform con una combobox, que contendrá los
nombres de las tablas dinámicas presentes en la hoa activa (un evento crea la lista
dinámicamente de acuerdo a la hoa), y una rutina que recibe como variable el nombre de
la tabla elegida, abre el diálogo de formato numrico y aplica el formato elegido a la tabla
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
9/11
&odemos reunir todas las macros en un complemento (+dd in) e instalarlo de manera que
podamos usarlo en todo cuaderno activo de Excel
%tra ventaa del complemento es que agregará una pestaa en la cinta de comandos para
activar las macros con facilidad
El complemento se puede descargar sin cargo aqu1
0espus de descargar y guardar el complemento lo instalamos usando el menú
&rogramador8Complementos (en caso de ser necesario usamos el bot!n Examinar para
encontrar la ubicaci!n del complemento)
https://sites.google.com/site/jldexcel/descargas/tablas-dinamicas/formato-numerico-simultaneohttps://sites.google.com/site/jldexcel/descargas/tablas-dinamicas/formato-numerico-simultaneo
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
10/11
En caso de recibir una advertencia de seguridad aceptamos la opci!n "9abilitar contenido"
Este video muestra la instalaci!n y el funcionamiento de la macro
*os c!digos pueden verse con el editor de :ba (el complemento no está protegido con
contrasea)
+lgunas observaciones'
• como norma de buena práctica es recomendable reempla#ar el nombre por defecto de la
tablas dinámica (/abla dinámica4, /abla dinámica2, etc) por algo más significativo
-
8/19/2019 Ocultar Filtros en Tablas Dinámicas
11/11
• podemos convertir matrices planas a matrices tabulares usando el &o;er