Cambiar tamaño de gráfico dinámico

Si tengo una tabla dinámica donde el valor de las filas son las fechas del día, por ejemplo 2017-09-06, 2017-09-05, etc y sobre esta tabla dinámica hice un gráfico dinámico con un tamaño definido, como puedo controlar que conforme aparezcan más días en la tabla dinámica el gráfico cambie de tamaño automáticamente y no hacerlo manualmente para que sea visible y no estén los datos tan juntos.

1 Respuesta

Respuesta
1

Aquí va una idea...

Estoy suponiendo que tu gráfico es de barras, por lo tanto lo que hay que ajustar es el ancho...

No es perfecto porque parte del supuesto que el tamaño de la tabla dinámica y el gráfico deben mantener una proporción... el detalle es que en la tabla (columnas de encabezados y totales) y en gráfico (ejes y leyendas) no son en si parte de los datos... pero va bastante bien... más o menos mantiene el grosor de las barras

Copia esto código en el módulo de la hoja donde esta la TABLA DINÁMICA

Private alto
Private ancho
Sub ResetControl()
' Ejecutar solo si el comportamiento no parece el apropiado
' Si el comportamiento del tamaño no parece el apropiado, resetea el control
' Otra alternativa es cerrar y volver a abrir el archivo.
alto = 0
ancho = 0
End Sub
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim anchoN As Integer
Dim escX As Double, escY As Double
If alto = 0 Or ancho = 0 Then
alto = Cells(Target.TableRange1.Row, Target.TableRange1.Column).CurrentRegion.Rows.Count
ancho = Cells(Target.TableRange1.Row, Target.TableRange1.Column).CurrentRegion.Columns.Count
Else
altoN = Cells(Target.TableRange1.Row, Target.TableRange1.Column).CurrentRegion.Rows.Count
anchoN = Cells(Target.TableRange1.Row, Target.TableRange1.Column).CurrentRegion.Columns.Count
escY = altoN / alto
escX = anchoN / ancho
With Sheets("GD").Shapes("Gráfico 1") ' HAY QUE ADAPTAR ESTA LINEA A LA HOJA y GRAFICO REAL
.ScaleWidth escX, msoFalse, msoScaleFromTopLeft
.ScaleWidth escY, msoFalse, msoScaleFromTopLeft
End With
alto = altoN
ancho = anchoN
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas