2016-12-14

Desactivar autoajustar anchos de columnas al actualizar tablas dinámicas con VBA

Title

Problema

Por defecto al crear una tabla dinámica, Excel actualizará automáticamente el ancho las columnas de la tabla dinámica al tamaño del texto o valor de número más extenso. En lugar de desactivar esta opción manualmente como en la entrada anterior para cada una de las tablas dinámicas, queremos hacerlo automáticamente mediante VBA

Solución

Para desactivar esta opción en todas las tablas dinámicas de la hoja activa.

  1. Abrimos el Editor de Microsoft Visual Basic: Alt+F11.
  2. Copiamos una de las subrutinas de más abajo en un módulo.
    • Tablas en la hoja activa
    • Sub Desactivar_Autoajustar()
      For Each pt In ActiveSheet.PivotTables
          pt.HasAutoFormat = False
      Next
      End Sub
      
    • Todas las tablas del libro de Excel
    • Sub Desactivar_Autoajustar2()
      Dim n As Integer
      Dim i As Integer
      Dim pt As PivotTable
      n = ActiveWorkbook.Worksheets.Count
          For i = 1 To n
              For Each pt In ActiveWorkbook.Worksheets(i).PivotTables
                  pt.HasAutoFormat = False
              Next pt
          Next i    
      End Sub
      
  3. Ejecutamos la subrutina, F5.
  4. Habremos deseactivado las casillas de Autoajustar anchos de columnas al actualizar en todas las tablas dinámicas de la hoja activa o del libro, dependiendo de la opción elegida.

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos