Listbox con más de 10 de columnas

Tengo un pequeño problemita, tengo un formulario con listbox el cual requiero que me salgan 15 columnas pero este solo me salen 10 como máximo

Tengo el siguiente condigo al iniciar el formulario

Private Sub UserForm_Activate()
ThisWorkbook.Sheets(Hoja1.Name).Activate
   Range("C4").Select
    Dim fila As Long
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set b = ThisWorkbook.Sheets(Hoja1.Name)
    uf = b.Range("C" & Rows.Count).End(xlUp).Row
    uc = b.Cells(4, Columns.Count).End(xlToLeft).Address
    wc = Mid(uc, InStr(uc, "$") + 1, InStr(2, uc, "$") - 2)
    With Me.ListBox1
        .ColumnHeads = True
        .ColumnCount = 15
        ListBox1.RowSource = b & "!B3:Q" & uc
        .ColumnWidths = "200 pt;120 pt;35 pt;50 pt;50 pt;50 pt;80 pt;50 pt;50 pt;35 pt;50 pt;50 pt;50 pt;50 pt;50 pt"
        .RowSource = "C4:" & wc & uf
    End With
End Sub

le digo 15 pero me muestra 10 siempre

tambien en el textbox1 le digo 15 y siempre me muestra 10

On Error Resume Next
Set b = Sheets(Hoja1.Name)
uf = b.Range("B" & Rows.Count).End(xlUp).Row
If Trim(TextBox4.Value) = "" Then
     'AQUI YO PUESE ESTO
   Set b = Sheets(Hoja1.Name)
uf = b.Range("B" & Rows.Count).End(xlUp).Row
uc = b.Cells(4, Columns.Count).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, "$") + 1, InStr(2, uc, "$") - 2)
With Me.ListBox1
    .ColumnCount = 16
    .ColumnWidths = "200 pt;120 pt;35 pt;50 pt;50 pt;50 pt;80 pt;50 pt;50 pt;35 pt;50 pt;50 pt;50 pt"
    .RowSource = "C4:" & wc & uf
End With
'AQUI TERMINE
   Exit Sub
End If
b.AutoFilterMode = False
Me.ListBox1 = Clear
Me.ListBox1.RowSource = Clear
'''''''''''''''''''''''''''
For i = 4 To uf
   strg = b.Cells(i, 11).Value
  If UCase(strg) Like "*" & UCase(TextBox4.Value) & "*" Then
       Me.ListBox1.AddItem b.Cells(i, 3) 'NOMBRE
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = b.Cells(i, 4) 'AREA
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = b.Cells(i, 5) 'INCIDENCIA SALIDA A COMER
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Format(b.Cells(i, 6), "hh:mm AM/PM") ' HORA SALIDA A COMER
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Format(b.Cells(i, 7), "hh:mm AM/PM") ' HORA DE ENTRADA ACOMER
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Format(b.Cells(i, 8), "hh:mm") ' MINUTOS GENERADOS
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = b.Cells(i, 9) ' FECHA
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Format(b.Cells(i, 10), "MMMM") 'MES
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = b.Cells(i, 11) ' SEMANA
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = b.Cells(i, 12) 'INCIDENCIA ENTRADA A COMER
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 10) = Format(b.Cells(i, 13), "hh:mm AM/PM") ' HORA ENTRADA
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 11) = Format(b.Cells(i, 14), "hh:mm AM/PM") ' HORA SALIDA
       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 12) = Format(b.Cells(i, 15), , "hh:mm") ' HORAS TRABAJADAS
       'Me.ListBox1.List(Me.ListBox1.ListCount - 1, 13) = Format(b.Cells(i, 16), "hh:mm")
   End If
Next i
If ListBox1.ListCount > 0 Then
TextBox2.Value = Empty
TextBox3.Value = Empty
TextBox1.Value = Empty
'MsgBox "si"
Else
MsgBox "Si No Se Encuentra la SEMANA Puede Ser Por: 1.- No Esta Registrado En La Base De Datos O 2.- La Busqueda Es Incorrecta. Intenta de Nuevo", vbExclamation, "INFORMACIÓN UTIL"
TextBox4.Value = Empty
End If
Me.ListBox1.ColumnWidths = "200 pt;120 pt;35 pt;50 pt;50 pt;50 pt;80 pt;50 pt;50 pt;35 pt;50 pt;50 pt;50 pt"

me pueden ayudar a solucionar este detalle

Respuesta
1

[Hola envíame tu archivo [email protected]

ya te lo he enviado saludos

[Hola 

Te paso la macro con los ajustes del primer textbox lo haces para el resto


Te envié el archivo

Valora la respuesta para finalizar saludos

Private Sub TextBox1_Change()
Set b = Sheets("HISTORIA.L")
uf = b.Range("B" & Rows.Count).End(xlUp).Row
Me.ListBox1.RowSource = ""
With ListBox1
   .ColumnCount = 15
   .List = Range("B3:Q3").Value
   .Clear
   For i = 4 To Range("B3").End(xlDown).Row
   '
     strg = b.Cells(i, 3).Value
    If UCase(strg) Like "*" & UCase(TextBox1.Value) & "*" Then
        . AddItem
        . List(.ListCount - 1, 0) = b.Cells(i, 3)
        . List(.ListCount - 1, 1) = b.Cells(i, 4)
        . List(.ListCount - 1, 2) = b.Cells(i, 5)
        . List(.ListCount - 1, 3) = Format(b.Cells(i, 6), "hh:mm AM/PM")
        . List(.ListCount - 1, 4) = Format(b.Cells(i, 7), "hh:mm AM/PM")
        . List(.ListCount - 1, 5) = Format(b.Cells(i, 8), "hh:mm AM/PM")
        . List(.ListCount - 1, 6) = b.Cells(i, 9)
        . List(.ListCount - 1, 7) = Format(b. Cells(i, 10), "MMMM")
        . List(.ListCount - 1, 8) = b. Cells(i, 11)
        . List(.ListCount - 1, 9) = b. Cells(i, 12)
        . List(.ListCount - 1, 10) = Format(b.Cells(i, 13), "hh:mm AM/PM")
        . List(.ListCount - 1, 11) = Format(b.Cells(i, 14), "hh:mm AM/PM")
        . List(.ListCount - 1, 12) = Format(b.Cells(i, 15), "hh:mm AM/PM")
        . List(.ListCount - 1, 13) = Format(b.Cells(i, 16), "hh:mm AM/PM")
      End If
    Next
End With
End Sub

2 respuestas más de otros expertos

Respuesta
1

[Hola

Pues así, solo viendo tus códigos, no debería haber problemas ya que el límite de diez columnas no afecta a la propiedad "Rowsource". Sugiero que coloques tu archivo en algún "Drive" y compartas por aquí el enlace, ya que al parecer el problema sería la disposición de los datos y/o las variables, pero no podemos estar seguros hasta ver dicho archivo.

Saludos]

Abraham Valencia

te lo puedo enviar por correo

[Hola

Tengo como política personal no compartir mi correo en los foros en donde brindo ayuda, por eso mi sugerencias del "Drive"; claro, no es tu obligación seguir la sugerencia.

Abraham Valencia

Respuesta
1

hola No puedo abrir la página

Te paso el link correcto debes usar rowsource para cargar más de 10 columnas, acá tienes un ejemplo de diversas formas de cargar listbox

https://youtu.be/4YyMHEZ1h_8

https://youtu.be/VJGRNxZtpBg 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas