Jump to content
lphant

Ajuste automatico de columnas de ListBox

Recommended Posts

Buenas tardes;

 

Estoy intentando ver 2 tablas dinámicas en 2 ListBox y me ha surgido un problemilla ( los datos no se muestran completos ).

Que debo de poner o que debo de hacer para que las columnas se ajusten automáticamente??.

 

La opción manual no me vale ya que el tamaño puede variar bastante en ocasiones.

 

Línea manual:

ColumnWidths = "60 pt;60 pt”

 

Por otro lado, como podría definir la fila de títulos A3 y B3??, si la activo me coge A1 y B1.

 

ColumnHeads = True

 

Muchas gracias.

Menu_tabla_dinamica.xlsm

Share this post


Link to post
Share on other sites

Lo siento @lphant , no  hay manera de autoajuste como quieres. Tendrías que andar con fórmulas y relaciones :wacko:

Ten en cuenta que la forma como se muestran los datos en el listbox depende de:

  • ancho de la columna de excel
  • ancho total del listbox
  • Fuente y tamaño de la letra del listbox

Te dejo un ejemplo comentado para que veas los pasos. La letra del listbox la he establecido como  la misma de la hoja, para que los cálculos sean correctos.

En cuanto a lo de los títulos, también lo tienes resuelto. Lo que he hecho en la tabla dinámica que ves modificada:

  • Sobre la Celda "Paquete", con el botón derecho-->Eliminar "Paquete"
  • En la celda "Rótulos de Fila", escribes "ESTADO" y en la otra "Paquetes", como si fueran celdas normales
  • Los datos deben empezar en la fila inferior a  la de los títulos

Nos comentas

Copia de Menu_tabla_dinamica.xlsm

Share this post


Link to post
Share on other sites
Hace 42 minutos , Haplox dijo:

Lo siento @lphant , no  hay manera de autoajuste como quieres. Tendrías que andar con fórmulas y relaciones :wacko:

Ten en cuenta que la forma como se muestran los datos en el listbox depende de:

  • ancho de la columna de excel
  • ancho total del listbox
  • Fuente y tamaño de la letra del listbox

Te dejo un ejemplo comentado para que veas los pasos. La letra del listbox la he establecido como  la misma de la hoja, para que los cálculos sean correctos.

En cuanto a lo de los títulos, también lo tienes resuelto. Lo que he hecho en la tabla dinámica que ves modificada:

  • Sobre la Celda "Paquete", con el botón derecho-->Eliminar "Paquete"
  • En la celda "Rótulos de Fila", escribes "ESTADO" y en la otra "Paquetes", como si fueran celdas normales
  • Los datos deben empezar en la fila inferior a  la de los títulos

Nos comentas

Copia de Menu_tabla_dinamica.xlsm

Muchas gracias @Haplox, ahora mismo lo pruebo.

Share this post


Link to post
Share on other sites

Adapta el valor de la constante Factor a tus necesidades en función del tipo y tamaño de la fuente empleada en los listbox.

Private Sub UserForm_Initialize()
Const Factor As Integer = 4 'Factor de conversión de ancho de columna
'--
Sheets("Tabla_Dinamica").Select
ListBox1.ColumnCount = 2
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = [A1].ColumnWidth * Factor & ";" & [B1].ColumnWidth * Factor
ListBox1.RowSource = "A4:B" & Range("A3").End(xlDown).Row
'--
ListBox2.ColumnCount = 2
ListBox2.ColumnHeads = True
ListBox2.ColumnWidths = [D1].ColumnWidth * Factor & ";" & [E1].ColumnWidth * Factor
ListBox2.RowSource = "D4:E" & Range("D3").End(xlDown).Row
'--
Sheets("Datos1").Select
End Sub

 

Share this post


Link to post
Share on other sites
En ‎27‎/‎09‎/‎2017 at 11:09 , Antoni dijo:

Adapta el valor de la constante Factor a tus necesidades en función del tipo y tamaño de la fuente empleada en los listbox.

Private Sub UserForm_Initialize()
Const Factor As Integer = 4 'Factor de conversión de ancho de columna
'--
Sheets("Tabla_Dinamica").Select
ListBox1.ColumnCount = 2
ListBox1.ColumnHeads = True
ListBox1.ColumnWidths = [A1].ColumnWidth * Factor & ";" & [B1].ColumnWidth * Factor
ListBox1.RowSource = "A4:B" & Range("A3").End(xlDown).Row
'--
ListBox2.ColumnCount = 2
ListBox2.ColumnHeads = True
ListBox2.ColumnWidths = [D1].ColumnWidth * Factor & ";" & [E1].ColumnWidth * Factor
ListBox2.RowSource = "D4:E" & Range("D3").End(xlDown).Row
'--
Sheets("Datos1").Select
End Sub

 

Gracias @Antoni, ya lo solucione con la solución de @Haplox.

un saludol,

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png