Tengo un lista box que me carga la información de una tabla de 13 columnas de las cuales me interesan sólo 5 de ellas: la 1, 4, 9, 11 y 13 por lo cual oculto las que no tienen con ancho 0.
El listbox carga los datos sin problema. El buscador funciona bien también pero cuando la columna es la 10 o mayor de .list es menor que 10. Va marcado en azul y negritas donde está el problema.
¿cómo puedo solucionarlo?
Private Sub UserForm_Initialize()
'se definen características del Listbox (columnas, ancho, títulos)
With LstBusqueda
.ColumnCount = 13
.ColumnHeads = True
.ColumnWidths = "60;0;0;160;0;0;0;0;240;0;100;0;100" 'las columnas de ancho 0 no se muestran
End With
End Sub
Private Sub BtnTipoCodStd_Click()
Call CargarDatos
End Sub
Sub CargarDatos()
Sheets("ProdStd").Select
CantFilas = Sheets("ProdStd").Range("A" & Rows.Count).End(xlUp).Row
Rango = "A2:" & "M" & CantFilas 'se selecciona matriz desde A2 hasta la columna M y ultima fila de datos.
LstBusqueda.RowSource = Rango
Sheets("Laboratorio").Select
End Sub
Private Sub TxtBusquedaCodigo_Change()
Sheets("ProdStd").AutoFilterMode = False
LstBusqueda.RowSource = ""
y = 0
For Fila = 2 To CantFilas 'la fila 1 son los títulos de la tabla
ValorBuscado = Sheets("ProdStd").Cells(Fila, 1).Value 'es el dato a buscar, en este caso código, y donde lo busca: columna 1 de ProdStd
If UCase(ValorBuscado) Like "*" & UCase(TxtBusquedaCodigo.Value) & "*" Then
LstBusqueda.AddItem
LstBusqueda.List(y, 0) = Sheets("ProdStd").Cells(Fila, 1).Value 'se está diciendo que busque en la columna 0 (la primera) del ListBox y que sea igual a la columna 1 de la hoja excel
LstBusqueda.List(y, 3) = Sheets("ProdStd").Cells(Fila, 4).Value
LstBusqueda.List(y, ? = Sheets("ProdStd").Cells(Fila, 9).Value 'LstBusqueda.List(y, 10) = Sheets("ProdStd").Cells(Fila, 11).Value
LstBusqueda.List(y, 12) = Sheets("ProdStd").Cells(Fila, 13).Value
y = y + 1
End If
Next Fila
End Sub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola a todos,
Tengo un lista box que me carga la información de una tabla de 13 columnas de las cuales me interesan sólo 5 de ellas: la 1, 4, 9, 11 y 13 por lo cual oculto las que no tienen con ancho 0.
El listbox carga los datos sin problema. El buscador funciona bien también pero cuando la columna es la 10 o mayor de .list es menor que 10. Va marcado en azul y negritas donde está el problema.
¿cómo puedo solucionarlo?
Private Sub UserForm_Initialize()
'se definen características del Listbox (columnas, ancho, títulos)
With LstBusqueda
.ColumnCount = 13
.ColumnHeads = True
.ColumnWidths = "60;0;0;160;0;0;0;0;240;0;100;0;100" 'las columnas de ancho 0 no se muestran
End With
End Sub
Private Sub BtnTipoCodStd_Click()
Call CargarDatos
End Sub
Sub CargarDatos()
Sheets("ProdStd").Select
CantFilas = Sheets("ProdStd").Range("A" & Rows.Count).End(xlUp).Row
Rango = "A2:" & "M" & CantFilas 'se selecciona matriz desde A2 hasta la columna M y ultima fila de datos.
LstBusqueda.RowSource = Rango
Sheets("Laboratorio").Select
End Sub
Private Sub TxtBusquedaCodigo_Change()
Sheets("ProdStd").AutoFilterMode = False
LstBusqueda.RowSource = ""
y = 0
For Fila = 2 To CantFilas 'la fila 1 son los títulos de la tabla
ValorBuscado = Sheets("ProdStd").Cells(Fila, 1).Value 'es el dato a buscar, en este caso código, y donde lo busca: columna 1 de ProdStd
If UCase(ValorBuscado) Like "*" & UCase(TxtBusquedaCodigo.Value) & "*" Then
LstBusqueda.AddItem
LstBusqueda.List(y, 0) = Sheets("ProdStd").Cells(Fila, 1).Value 'se está diciendo que busque en la columna 0 (la primera) del ListBox y que sea igual a la columna 1 de la hoja excel
LstBusqueda.List(y, 3) = Sheets("ProdStd").Cells(Fila, 4).Value
LstBusqueda.List(y, ? = Sheets("ProdStd").Cells(Fila, 9).Value
'LstBusqueda.List(y, 10) = Sheets("ProdStd").Cells(Fila, 11).Value
LstBusqueda.List(y, 12) = Sheets("ProdStd").Cells(Fila, 13).Value
y = y + 1
End If
Next Fila
End Sub