Alinear Encabezado de Columnas-ListView VBA

Espero encontrar la respuesta a algo que he buscado pero no he podido encontrar.

Necesito alinear el encabezado de una columna independiente de la alineación del contenido de dicha columna. ¿Cómo podría hacerlo?

Al alinear la columna (contenido) se me alinea también el encabezado.

Este es mi código:

.ColumnHeaders.Add Text:="ITEM", Width:=0
.ColumnHeaders.Add Text:="CODIGO", Width:=42
.ColumnHeaders.Add Text:="DESCRIPCION", Width:=300
.ColumnHeaders.Add Text:="CANTIDAD", Width:=60
.ColumnHeaders.Add Text:="PRECIO UNIT.", Width:=80, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="PRECIO TOTAL", Width:=80, Alignment:=fmAlignmentRight

2 Respuestas

Respuesta
1

Me atrevo a decir con mucha seguridad que eso no se puede hacer. VBA no tan personalizable, por lo que nos ha obligado desde 1997 a sortear estas cosas, y el método mas común usado por años para flexibilizar los encabezados de los ListBox y los ListViews es usar Labels. Yo personalmente siempre pongo encabezados con Labels, esto te abre la puerta a muchas opciones como por ejemplo organizar de mayor a menor y viceversa dando click en el "encabezado" como grabe en este video (las edades y el genero de Sebas es pura broma):

Video demo

Esos son Labels con SpecialEffect = Risen y Sunket.

¿Lleva mas código pero quien dijo que iba a ser sencillo? ;)

Respuesta
2

Podrías revisar en que fila esta el encabezado y centrar solo en encabezado

Supongos que el encabezado esta en la fila 1 entonces usa esta línea

Rows("1:1"). HorizontalAlignment = xlCenter

Con esa linea centras de forma Horizontal, si quieres centrar tambien vertical podrias ponerlo asi

With Rows("1:1")
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas