Añadir barra de desplazamiento a un ListBox formulario vba Excel

Me gustaría saber como añadir una barra de desplazamiento en un ListBox para que se puedan ver todas las columnas

1 respuesta

Respuesta
1

.

Los ListBox -por defecto- ya vienen con sus dos barras de desplazamiento (la horizontal y la vertical) "a la vista".

O sea: ¿De qué estás hablando?...

¿Estás segura que "estás mirando" un ListBox?...

:)

Lo sé pero no sale la barra de desplazamiento y es un LISTBOX

Private Sub Btnbuscar_Click()
Dim Rng As Range, ws As Worksheet
Dim mWidth
'La cuarta columna del rango de datos contiene los Nº de documentos:
Const col_Documento% = 4
If CONSULTA_SOLICITUD.TextBoxnumero = Empty Then
MsgBox "INTRODUCE UN NÚMERO DE DOCUMENTO DEL SOLICITANTE Y PULSA EN BUSCAR", vbInformation, "BUSCAR SOLICITANTE"
End If
Application.ScreenUpdating = False
'Especifico el rango de datos (hoja y celdas):
Set Rng = Sheets("SOLICITUDES").Range("A1:U900")
With ActiveSheet
'Si la hoja auxiliar no existe entonces la creo:
On Error Resume Next
Set ws = Sheets("Auxiliar")
If Err.Number Then
Set ws = Worksheets.Add(After:=Worksheets(Worksheets.Count))
ws.Name = "Auxiliar"
End If
On Error GoTo 0
.Activate
End With
'Apronto el Listbox1:
mWidth = Array(0, 50, 50, 50, 75, 75, 75, 90, 90, 100, 75, 0, 0, 0, 0, 0, 0, 75, 60)

With ListBox1
.RowSource = ""
.ListIndex = -1
.Value = ""
.ColumnCount = 1 + UBound(mWidth)
.ColumnHeads = True
.ColumnWidths = Join(mWidth, ";")
'Ancho del Listbox1:
.Width = 15 + Application.Sum(mWidth)
.IntegralHeight = True
DoEvents

End With
'Aplico el filtro avanzado:
With ws
.[b1] = "CachoR"
.[b1].CurrentRegion.Delete xlShiftUp
.[a1] = Rng.Cells(1, col_Documento)
.[a2] = TextBoxnumero
Rng.AdvancedFilter 2, .[a1:a2], .[c1], False
With .[c1].CurrentRegion
If .Rows.Count > 1 Then
ListBox1.RowSource = .Offset(1).Resize(.Rows.Count - 1).Address(external:=True)
End If
End With
End With
Application.ScreenUpdating = True
End Sub


Private Sub CommandButton1_Click()
'CERRAMOS
If MsgBox("¿Desea salir del formulario?", vbQuestion + vbYesNo) = vbYes Then
Unload Me
Sheets("MENU").Activate
End If

End Sub


Private Sub TextBoxnumero_Change()
'MAYUSCULAS
CONSULTA_SOLICITUD.TextBoxnumero.Text = UCase(CONSULTA_SOLICITUD.TextBoxnumero.Text)
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode = 0 Then Cancel = True

End Sub


Te paso el código que me diste por si estuviera aquí el problema

:)

Las barras no se visualizan porque no hay datos en el ListBox...

:)

Aunque haya datos las barras no se visualizan. Colgué esta imagen porque no quería poner datos personales de personas. Pero cuando hay datos tampoco aparecen las barras de desplazamiento ¿? 

Tengo otra base de datos donde sí que aparecen pero no entiendo en por qué en este caso concreto no salen... Imaginé que podría ser un tema de la programación..

.

Por las dudas: eliminá ese listbox y creá otro nuevo (con el mismo nombre que el del eliminado)...

.

Hola: 

Ya lo he solucionado. Le he quitado el ancho del Listbox y han aparecido....

Gracias por todo!!

.

¡Mirá vos!... Gracias a ti por comentarlo.😀

.

Hola de nuevo!

Me gustaría que cuando introduzco un documento de identidad y no existen ningún resultado me apareciera un mensaje tal como "no existen registros con ese documento" ... ¿Cómo lo puedo hacer?

Estoy intentándolo hacer pero no lo consigo..

¿Me puedes ayudar?

:)

Hace poquito consultaron por "algo" parecido...

¿Por qué no te das una vuelta por la consulta: Como modificar base de datos?

Saludos, Mario (Cacho) Rodríguez

:)

.

La he echado un vistazo pero no me ayuda... 

Gracias de todas formas...

:)

Deberías mirarlo mejor: el buscador es un filtro avanzado (esto es más eficiente que cualquier otra metodología).

Luego del filtrado te quedan los resultados "positivos" o nada si el criterio de búsqueda no es satisfecho por ningún registro.

:)

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas