Hace unos dias publique una pregunta para porder crear un formulario de
ayuda, estuve investigando como resolver dicha "problema", y pude obtener
unos alcances, como por ejemplo llenar un control listbox en un userform, de
una lista obtenida de otra hoja de calculo en un mismo libro.
Explico mas o menos lo que tengo.
1. una hoja de calcula tengo la información de las Unidades Organicas de una
institucion.
CodUnidad Desrcipcion
001 Administracion
002 Personal
003 Abastecimiento
Etc
2. en una hoja principal al presionar las tecjas Ctrl+H aparece una ayuda
(formulario=userform) de dicha hoja con las Unidades Organicas.
el userform contiene un TextBox (Texto a Buscar), Boton (Buscar),
ListBox (listado de unidad organica), boton (Aceptar, coloca la opcion
elegida en la hoja Principal)
Bueno lo que falta es hacer funcionar el boton busqueda segun lo que se
escriba en el textbox, y aparezca solo las concidencias en el listbox.
Este codigo lo "cogí" de una pagina. que me permite llenar el listbox, pero
con este codigo no se como hacer la busqueda, derrepente hubiera otra forma
quisiera su ayuda, Michas Gracias por su apoyo.
Private Sub UserForm_Initialize()
Dim MyUniqueList As Variant, i As Long
With Me.lstSimple
.Clear ' clear the listbox content
MyUniqueList = UniqueItemList(Range("UnidadOrganica!C2:C39"),True)
For i = 1 To UBound(MyUniqueList)
.AddItem MyUniqueList(i)
Next i
.ListIndex = 0 ' select the first item
End With
End Sub
Private Function UniqueItemList(InputRange As Range, HorizontalList As
Boolean) As Variant
Dim cl As Range, cUnique As New Collection, i As Long, uList() As Variant
Application.Volatile
On Error Resume Next
For Each cl In InputRange
If cl.Formula <> "" Then
cUnique.Add cl.Value, CStr(cl.Value)
End If
Next cl
UniqueItemList = ""
If cUnique.Count > 0 Then
ReDim uList(1 To cUnique.Count)
For i = 1 To cUnique.Count
uList(i) = cUnique(i)
Next i
UniqueItemList = uList
If Not HorizontalList Then
UniqueItemList = _
Application.WorksheetFunction.Transpose(UniqueItemList)
End If
End If
On Error GoTo 0
End Function
Leer las respuestas