Utilizar un ComboBox como lista de búsqueda en Excel

En ocasiones tenemos una lista con decenas o a veces hasta centenas de items que se nos hace difícil buscar una coincidencia exacta y no una aproximada. El siguiente desarrollo permite añadir a un ComboBox la lista que tenemos y encontrar el dato tal y como está en la lista.

Ver video Utilizar un ComboBox como lista de búsqueda en Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Instrucciones:

1.- Asignamos un nombre a la lista (recomendado).

image

2.- Entramos al editor de Visual Basic para Aplicaciones con Alt + F11. I

3.- Insertamos un UserForm y le añadimos un control de ComboBox, un Label y dos botones (Buscar y Cerrar)

image

4. – Damos doble click en una parte del formulario (no en algún objeto). Se podrá automáticamente el método Activate. Ponemos el siguiente código:

Private Sub UserForm_Activate()
‘Asignamos como fuente la lista previamente creada
    Me.cmbAsesores.RowSource = “lstAsesores”
‘Le damos el foco al ComboBox
cmbAsesores.SetFocus
End Sub

5.- Ahora damos doble click al botón Buscar y agregamos el siguiente código:

Private Sub CommandButton1_Click()
‘Si existe algún error se brinca a la etiqueta Fin
    On Error GoTo Fin
‘Para tener este código, se puede utilizar la grabadora de macros
Cells.Find(What:=cmbLista, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
cmbLista.SetFocus
‘Cierra el formulario
Unload Me
‘Sale del procedimiento sin necesidad de llegar a la etiqueta Fin
    Exit Sub
Fin:
‘Si el dato escrito no está en la lista arroja el siguiente error
MsgBox “El dato ‘” & cmbLista & “‘ no se encuentra en esta hoja”, vbInformation, “Excel e Info”
cmbLista = “”
cmbLista.SetFocus
End Sub

6.- El código para el botón Cerrar será:

Private Sub CommandButton2_Click()
Unload Me
End Sub

La imagen de ejemplo

image

Dependiendo del diseñador la lista puede estar oculta y para lanzar el formulario se podrá hacer por cualquier método que desee.

Descarga el archivo de ejemplo

Descargar el ejemplo Utilizar un ComboBox como lista de búsqueda en Excel.rar

You may also like...

56 Responses

  1. Negro says:

    muy buen aporte, necesito que un combo.box haga exactamente lo mismo pero sin la userfrm.
    es para usarlo en una factura con unos 6 item. como podría hacerlo? me podrías ayudar?

    • sergioacamposh says:

      Si lo necesitas para una factura, supongo que será para mostrar el dato de x items. En este caso mi recomendación es hacerlo mediante una lista de validación. Sólo entra a la pestaña/menú Datos y elige Validación de datos. Ahí viene una opción de Lista, y con eso puedes lograr que al posicionarte en x celda, simule el comportamiento de un Combobox.

      Cualquier duda, no dudes en comentar.

  2. Oholger Benites says:

    Hola amigo, te agradeceria si me pudieras ayudar con algo parecido, explico necesito saber como hacer una busqueda desde un formulario donde a medida que escriba en un cuadro de texto se me vallan mostrando los resultados posibles en un cuadro de lista (Dinamicamente si es el termino) insertado en el mismo formulario y que al seleccionar el resultado en el cuadro de lista de click en un boton insertar y se inserte en una celda X deseada.
    Esta macro yo la tengo pero lamentablemente no tengo acceso al código, te agradecería tu apoyo.

  3. JORGE PALACIOS says:

    Buenas Noches escribo para ver si me puedes ayudar estoy diseñando en vb de excel, tengo un formulario para modificar datos para enlazar el formulario a una hoja de clientes que no sea visible, el cuento es que por medio de un texbox el listbox me muestre todos los datos de la hoja y me permita cargarlos a el formulario para modificarlos.

    tengo el código del texbox

    Private Sub ListBox1_Click()

    End Sub

    Private Sub TextBox1_Change()
    Dim i As Integer, Ctrl As Boolean
    Ctrl = True
    For i = Me.ListBox1.ListCount – 1 To 0 Step -1
    If Not IsEmpty(Trim(Me.TextBox1)) Then
    If LCase(Me.ListBox1.List(i)) Like LCase(Me.TextBox1.Value) + “*” Then
    Me.ListBox1.Selected(i) = True
    Ctrl = False
    End If
    End If
    Next
    If Ctrl And Not IsEmpty(Trim(Me.TextBox1)) Then
    MsgBox “Nombre No Registrado”, vbInformation + vbOKOnly, “Sr. Operador”
    End If
    End Sub

    Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 5
    ListBox1.ColumnWidths = “100 pt;300 pt;200 pt;150 pt;200 pt”
    ListBox1.RowSource = “A1:E1000”

    End Sub

  4. JORGE PALACIOS says:

    Buenas noches me puedes ayudar a guardar los datos de un formulario vb de excel en una hoja de excel

  5. Carmen says:

    Hola, excelente tutorial. Me gustaria poder colocar el dato seleccionado en el combobox en una celda especifica. Por ejemplo la que este activa.

    Saludos
    Carmen

  6. Carmen says:

    Muchas gracias Sergio. Me funciono perfecto!!!! Saludos

  7. JORGE PALACIOS says:

    quiero agradecerte sergio por toda la ayuda que me has dado, me gustaria saber si me puedes ayudar es que no he podido hacer el numero de factura autoincrementado, y guardar las facturas.
    otro tema es que no he podido calcular el iva ya que no todos los productos llevan iva. por eso no debo sacarle el iva al subtotal sino a uno que otro producto

  8. Para obtener el IVA dependiendo del producto, te recomiendo que tengas una tabla donde junto a los productos tengas una columna que indique el valor del IVA o lo que desees, y en el formulario realizarías un BUSCARV mediante vba. Te puedes guiar en el siguiente post http://exceleinfo.wordpress.com/2012/02/05/video-tutorial-1-uso-de-buscarv-con-vba/

    Para hacer un número incrementable, utiliza una celda donde por media de vba le vayas sumando en 1 cada vez que le des Guardar a tu formulario.

  9. JORGE PALACIOS says:

    Saludos Sergio

    como debo calcular el iva no a todos los productos, sino a unos. se me ocurrio en la bd productos colocar
    una columna que lleva el porcentaje 0.16 que seria el iva.
    al cargar los productos reflejo esa celda en un textbox, en el formulario agrego dos listbox mas uno que es (iva) y otro (calculo iva)
    como el iva seria o 0 o 0.16, la formula seria (precio * cantidad * iva) y el resultado iria a calculo iva al final sumo ese subtotal y lo envio a totaliva
    para sumarlo a el costo total de la factura pero me salen errores, el codigo lo modifique

    ESTE ES EL CODIGO PARA AGREGAR EL PRODUCTO

    Private Sub cmdAgregar_Click()

    If Trim(Me.txtCantidad.Text) = “” Then MsgBox (“Debes ingresar la cantidad!!”): Exit Sub
    If Me.txtPrecio.Text = “” Then MsgBox (“Debes elegir un producto!!”): Exit Sub
    With FRMFACTURA
    .lstCantidad.AddItem (Me.txtCantidad.Text)
    .lstDescripcion.AddItem (Me.cmbProducto.Text)
    .lstValorUnitario.AddItem (Me.txtPrecio.Text)
    .lstValorTotal.AddItem (Str(Val(Me.txtCantidad.Text) * Val(Me.txtPrecio.Text))) ‘AQUI DEBERIA IR LA FORMULA PARA EL IVA
    .lstIva.AddItem (Me.txtIva.Text)
    .lstCalculoIva.AddItem (Str(Val(Me.txtCantidad.Text) * Val(Me.txtPrecio.Text))) ‘AQUI DEBERIA IR LA FORMULA PARA EL IVA

    End With
    FRMFACTURA.sumarValorTotal
    Me.txtPrecio.Text = “”
    Me.txtIva.Text = “”
    Me.txtCantidad.Text = “”
    Me.cmbProducto.ListIndex = -1
    Me.cmbProducto.SetFocus

    End Sub

    Y ESTE ES EL DE LA FACTURA

    Public Sub sumarValorTotal() ‘ suma solo la ultima lista, osea, Valor Total
    Dim i As Integer
    Dim j As Integer
    Dim dTotal As Double
    Dim dTotalIva As Double

    dTotal = 0
    For i = 0 To Me.lstValorTotal.ListCount – 1
    dTotal = dTotal + Val(Me.lstValorTotal.List(i))

    dTotalIva = 0
    For j = 0 To Me.lstCalculoIva.ListCount – 1
    dTotalIva = dTotalIva + Val(Me.lstCalculoIva.List(j))

    Next
    Me.txtSubtotal.Text = dTotal
    Next
    Me.txtCalculoIva.Text = dTotalIva

    If dTotal > 0 Then ‘ aqui se hacen los calculos para el subtotal, iva y total
    If dTotalIva > 0 Then

    ‘Me.txtIva.Text = Round((Val(Me.txtCalculoIva.Text) / 100) * 16, 2)
    Me.txtTotal.Text = Val(Me.txtSubtotal.Text) + Val(Me.txtFlete.Text) + Val(Me.txtIva.Text)

    End If
    End If

    arrTotal = Split(Me.txtTotal.Text, “.”)
    If UBound(arrTotal) = 0 Then
    Me.txtLetras.Text = “SON: ” & Num2Text(arrTotal(0)) & ” PESOS”
    Else
    Me.txtLetras.Text = “SON: ” & Num2Text(arrTotal(0)) & ” CON ” & arrTotal(1) & “PESOS”
    End If

    End Sub

  10. JORGE PALACIOS says:

    Me disculpo por lo desordenado que he sido para hacer mis preguntas, lo que pasa es que a veces no leo bien o me apresuro a preguntar como en este caso y después de un rato de cacharrear me sale o avanzo mas. y pues ni modo de borrar mis intervenciones.
    (de nuevo me disculpo con los lectores, con sergio y demás maestros por así decirlo).

    despues de cacharrerar lo de calcular el iva me salio, con un error.. cuando empiezo a llenar el formulario con productos si el producto no lleva iva me sale un error.. pero si comienzo a llenar el formulario con un producto de tiene iva y despues sin iva y con iva no hay lio…

    ESTE ES EL CODIGO DEL FORMULARIO

    Public Sub sumarValorTotal() ‘ suma solo la ultima lista, osea, Valor Total
    Dim i As Integer
    Dim j As Integer
    Dim dTotal As Double
    Dim dTotalIva As Double

    dTotal = 0
    For i = 0 To Me.lstValorTotal.ListCount – 1
    dTotal = dTotal + Val(Me.lstValorTotal.List(i))

    dTotalIva = 0
    For j = 0 To Me.lstCalculoIva.ListCount – 1
    dTotalIva = dTotalIva + Val(Me.lstCalculoIva.List(j))

    Next
    Me.txtSubtotal.Text = dTotal
    Next
    Me.txtCalculoIva.Text = dTotalIva

    If dTotal > 0 Then ‘ aqui se hacen los calculos para el subtotal, iva y total
    If dTotalIva > 0 Then

    Me.txtIva.Text = Val(Me.txtCalculoIva.Text)
    Me.txtTotal.Text = Val(Me.txtSubtotal.Text) + Val(Me.txtFlete.Text) + Val(Me.txtIva.Text)

    End If
    End If

    arrTotal = Split(Me.txtTotal.Text, “.”)
    If UBound(arrTotal) = 0 Then
    Me.txtLetras.Text = “SON: ” & Num2Text(arrTotal(0)) & ” PESOS”
    Else
    Me.txtLetras.Text = “SON: ” & Num2Text(arrTotal(0)) & ” CON ” & arrTotal(1) & “PESOS”
    End If

    End Sub

    Y ESTE ES EL CODIGO DEL FORMULARIO QUE ME AGREGA EL PRODUCTO

    Private Sub cmdAgregar_Click()

    If Trim(Me.txtCantidad.Text) = “” Then MsgBox (“Debes ingresar la cantidad!!”): Exit Sub
    If Me.txtPrecio.Text = “” Then MsgBox (“Debes elegir un producto!!”): Exit Sub
    With FRMFACTURA
    .lstCantidad.AddItem (Me.txtCantidad.Text)
    .lstDescripcion.AddItem (Me.cmbProducto.Text)
    .lstValorUnitario.AddItem (Me.txtPrecio.Text)
    .lstValorTotal.AddItem (Str(Val(Me.txtCantidad.Text) * Val(Me.txtPrecio.Text)))
    .lstIva.AddItem (Me.txtIva.Text)
    .lstCalculoIva.AddItem (Str(Val(Me.txtCantidad.Text) * Val(Me.txtPrecio.Text * Val(Me.txtIva.Text)))) ‘AQUI DEBERIA IR LA FORMULA PARA EL IVA

    End With
    FRMFACTURA.sumarValorTotal ‘(error 9) EL ERROR ME SALE ACA
    Me.txtPrecio.Text = “”
    Me.txtIva.Text = “”
    Me.txtCantidad.Text = “”
    Me.cmbProducto.ListIndex = -1
    Me.cmbProducto.SetFocus

    End Sub

  11. Carmen says:

    Buenos días, Sergio. Queria solicitar si es posible tu ayuda nuevamente en los siguiente: Tengo un combobox “clientes” que se alimenta de una hoja que trae informacion de una bd en mysql, lo que quiero hacer es que cuando seleccione un cliente aparezca en un segundo combobox los pacientes asociados a ese cliente que se encuentra en una hoja
    que tiene 2 columas una con el nombre del cliente y la otra con el nombre del paciente. Es decir que el cliente se repite tantas veces como pacientes esten asociado a el. El problema que tengo es que solo me devuelve un paciente y no necesariamente el correcto. Adicionalmente, tengo una tercera hoja donde coloque un boton para mostrar el formulario con los combobox y me gustaria que al presionar aceptar en la celda que tenia activa se colocaran unos datos segun la seleccion.A continuación coloco el codigo que tengo:
    ———————————————————————————————————————–
    ————————————————————————————————————————
    Private Sub btnAceptar_Click()
    ActiveCell.Value = cmbClientes.Value
    End Sub

    Private Sub cbCerrar_Click()
    frmBuscar.Hide
    End Sub

    Private Sub cmbClientes_Change()
    Dim rango As Range
    Dim valor_buscado As String
    Dim resultado As String

    cmbPacientes.Clear
    valor_buscado = cmbClientes.Value

    Sheets(“BD_Pacientes”).Select
    ult = Cells(Rows.Count, 1).End(xlUp).Row
    Set rango = Sheets(“BD_Pacientes”).Range(“D:E”)

    resultado_temp = “”
    i = 0
    Do Until i < ult And resultado “” And Not (IsEmpty(resultado))
    i = i + 1
    resultado = Application.VLookup(valor_buscado, rango, 2)
    If Not (IsEmpty(resultado)) And resultado resultado_temp Then
    cmbPacientes.AddItem resultado
    End If
    resultado_temp = resultado
    Loop

    End Sub

    Private Sub UserForm_Activate()
    cmbClientes.RowSource = “Clientes”
    cmbClientes.SetFocus
    End Sub

    —————————————————————————————————————————–
    —————————————————————————————————————————–

  12. edgar says:

    yo necesito uno, pero el cual se vaya actualizando cada vez que ingrese un registro nuevo, se puede usar para una base de datos donde se consulte desde otro libros u otras hojas de calculo ??

    • El siguiente código te asigna el nombre del rango cada vez que lo corres, será cuestión que lo ejecutes antes de mostrar el formulario, para que te refresque la lista cada vez que lo ejecutes.

      Private Sub CommandButton1_Click()
      Application.ScreenUpdating = False
      Range(“A2″).Select
      Range(Selection, Selection.End(xlDown)).Select
      With ActiveWorkbook
      .Names.Add Name:=”lstAsesores”, RefersToR1C1:=Selection
      .Names(“lstAsesores”).Delete
      .Names.Add Name:=”lstAsesores”, RefersToR1C1:=Selection
      End With
      End Sub

  13. JORGE PALACIOS says:

    Saludos Sergio, quiero preguntarte en relación al combobox, lo que pasa es que mi bd o llamada hoja donde tengo la informacion me toco colocarle una fila de titulos para poder manipular una tabla dinamica. esto me ocasiona que si tenia un combobox para ingresar productos el primer producto que me sale es el nombre que le di a los titulos de las columnas, si lo ordeno se me pierde mi titulo. eso tambien me afecta al momento de ver los datos por listbox para llamarlos a txt, me sale los titulos de las columnas. lo requerido es que estos titulos queden estaticos y no se mezclen al momento de ordenar las filas, y que no se muestren si los llamo por listbox o combobox.

    agradezco tu atencion y tiempo prestado. asi como tu ayuda

    • Al momento de ordenar los datos especificas que tu base tiene títulos ?? Por que si así lo realizas, no debe por qué tomarte los títulos para ordenar.

      Te recomiendo hacer pruebas con la grabadora de macros: una prueba especificando en el formulario que tus datos tienen título, y otra prueba especificando lo contrario. Revisa el código generado y con eso tendrás el dato que pides.

  14. JORGE PALACIOS says:

    Muchas gracias Sergio
    lo de la grabadora de macros para ordenar es claro, lo que pasa es que necesito que al usar el combobox no me salga el primer registro o fila que es mi titulo de tabla o bd. lo mismo con el listbox si lo voy a modificar el registro o fila me lo muestra y lo requerido es que no se pueda modificar.

    • Te recomiendo que revises las propiedades de los controles. Tanto el listbox como el combobox tienen una propiedad que se llama ColumnHeads para especificar que tu lista tiene títulos.

  15. JORGE PALACIOS says:

    Otra cosa sergio

    quiero preguntarte si puedo hacer que no salgan los espacios en blanco al momento de visualizar
    las filas en el listbox, lo que pasa es que en RowSource lo coloco en “A1:E1000” por logica para
    que me cargue mas informacion, pero las filas llenas van hasta “A1:E359” asi no me muestra
    las filas vacias, pero si ingreso otro registro lo deja cargar en la bd pero no lo refleja en el
    listbox

    Private Sub UserForm_Initialize()

    Sheets(“CLIENTES”).Select
    ListBox1.ColumnCount = 5
    ListBox1.ColumnWidths = “290 pt;100 pt;200 pt;120 pt;200 pt”
    ListBox1.RowSource = “A1:E1000”

    End Sub

    lo que pasa es que en la columna (A) que concatena varias columnas ejemplo (b,c,d),
    la formula va dentro de la columna y bien se corrigio para queno la lea como si estuviese llena,
    pero resulta que cuando ordeno los datos,
    me toma como si las filas que tienen la funcion estuviese llenas y me envia toda
    la informacion al final de las celdas vacías.

    • Tu reto será hacer ese rango de manera dinámica, por código. Por eso no se recomienda escribir el rango a mano, sino que se vaya modificando según tus necesidades.

  16. JORGE PALACIOS says:

    como siempre que gran ayuda sergio

    lo que pasa es que en la columna (A) que concatena varias columnas ejemplo (b,c,d),
    la formula va dentro de la columna y bien se corrigio para queno la lea como si estuviese llena,
    pero resulta que cuando ordeno los datos,
    me toma como si las filas que tienen la funcion estuviese llenas y me envia toda
    la informacion al final de las celdas vacías.

    • Aquí viene la intención de tener visión de todo el entorno de trabajo. Todos sabemos que aunque la formula te de resultados vacíos, sigue teniendo datos y se tomará para todos las funciones de Excel.

      Así como tendrás que hacer el rango dinámico, también tienes que haces de manera dinámica que se llene la columna con fórmulas simpre y cuando haya datos en las columnas de la izquierda.

  17. JORGE PALACIOS says:

    Saludos Sergio

    dices

    Te recomiendo que revises las propiedades de los controles. Tanto el listbox como el combobox tienen una propiedad que se llama ColumnHeads para especificar que tu lista tiene títulos.

    al colocar la propiedad en true me sale como titulo las columnas (columna a, columna b) y lo que deberia salir es como estan nombradas las columnas (descripcion, producto)

    es que te cuento mis tablas estaban bien hasta que me toco agregar un titulo para poderlas manipular por tablas dinamicas, como resultado

    al visualizar el formulario que me modifica datos por listbox no bloquea los titulos los muestra como un registro o fila igual que los datos

    y al agregar los productos a la factura por un formulario que tiene un combobox es lo mismo me muestra el titulo como un producto mas.

    lo que necesito hacer es que no se refleje o por lo menos que no se dejen manipular como los demas datos

    • Jorge, con un poco de sarcasmo y sin mala intención, parece que soy tu tutor personal en esto de vba, lo cual se vuelve algo injusto para las personas que visitan mi Blog.

      Me reservo el contestarte a todas tus consultas, más bien te invito a que busques en toda la información que he publicado en el Blog, y bajarte cursos de vba. Estoy seguro que te harás un autodidacta estupendo si aprendes a sacar tus propias conclusiones.

  18. Carmen says:

    Sergio muchas gracias por todos los tips que me indicaste para lo de combobox dependientes me ha servido de mucho. En tu blog he conseguido mucha información valiosa.
    Quisiera consultarte una cosa mas y disculpa la molestia, tengo un poco de problemas con los rangos dinamicos o mejor dicho para escribir la funcion desref en vba
    = DESREF(Datos!$B$1;Datos!$F$2-1;0;Datos!$F$1;1)
    he intentado escribirla asi:
    = Offset(pos – 1, 1) error No se ha definido funcion o sub
    asi:
    =Offset(Worksheets(“Datos”).Range(A1).Value, pos – 1, 0, n, 1) error No se ha definido funcion o sub

    • Esta función la quieres ingresar en una celda ? Si es así, puedes usar esto:

      ActiveCell.FormulaLocal = “=DESREF(Datos!$B$1;Datos!$F$2-1;0;Datos!$F$1;1)”

      • Carmen says:

        No, lo que necesito es colocarlo en el evento onchange del combobox en el userform (vba)

      • Supongo que lo que quieres hacer es llenar los datos del Combo. Mejor te sugiero que esa fórmula la agregues en una celda y los datos del Combo los llenes desde el resultado que te de en la celdas.

  19. Manuel S. says:

    Sergio, se ve que tienen bastante experiencia en esto! querá ver si me puede ayudar en lo siguiente. Tengo creado un Combobox en una hoja que selecciona tipos de producto, cambia los datos de una tabla pivote oculta y por lo tanto las referencias del reporte. En mi office funciona a la perfección tengo 2010; sin embargo, no así en Office previos, qué puedo hacer para compartir este archivo y que pueda ser visto y editado el combobox y su macro por otros usuarios con Office previos?

    ya intenté guardarlo como versión Office 97 – 2003 y nada…

    Saludos,

    • Será cuestión de ver si el la macro que modifica la tabla dinámica fue grabada/escrita en Excel 2010, por que aunque la guardes de nuevo en Excel 2003, el código ya está hecho para 2010.

      Qué tipo de error es el que te arroja ??

      Definitivamente la cuestión es por compatibilidad de versiones.

  20. Genesis says:

    Como utilizo eso del macro???

  21. Viridianito says:

    ¡Qué tal!
    Realmente no he visto mucho tu Post,
    puesto que no tengo dudas sobre el manejo del Excel en VB
    (no lo necesito, por el momento),
    pero por lo completo que lo he notado,
    tal vez lo necesite algún día.
    Aunque tengo una duda con respecto a los ComboBox…
    Tengo un ComboBox con Algunos Items
    (nombres de personas),
    y quiero hacer una función de AutoCompletar,
    He buscado y lo he coseguido,
    pero, por ejemplo.
    si quiero buscar a una persona,
    pero no conozco el nombre, ¿qué busco?
    El apellido, claro,
    pero Suponiendo que tengo los Items:
    JOSE LOPEZ
    JOSE MONTERO
    Si, por ejemplo,
    empiezo a escribir montero,
    no me selecciona “JOSE MONTERO”,
    Sólo funciona para los primeros carácteres.
    ¿Cómo podría solucionar este “problema”?

    • El autollenado funciona precisamente para completar las palabras desde el principio, no es problema, es característica de los Combos.

      Si escribes nada más Montero y das Enter, la macro del ejemplo deberá dirigirte a José Montero, tal cual lo haría Excel en la búsqueda.

  22. Luis Robles says:

    hola bro como esta si quiero hacer en excel como un menu para ingresar todo tipo de archivo y documentos que e ingresado todo el dia como le ago soy nuevo me podrias ayudar pls

    • Sergio Alejandro Campos says:

      Hola Luis:

      Podrías ser más específico con tu pregunta, no me queda claro cuando dices “ingresar todo tipo de archivos”.

  23. Chicharo Quintero says:

    Hola, estoy haciendo un formato para impresión de recibos en excel, ya tengo todo resuelto, lo único que no he sabido hacer es un formulario para buscar por apellido o nombre en otra hoja de mi libro (hoja2) y que el resultado de la busqueda se inserte en determinada celda de mi formato de recibo (hoja1).

    El formulario de busqueda he logrado hacerlo, pero no he sabido como insertarlo como dato en la celda de mi hoja1.

    De antemano gracias por tu ayuda, saludos.

    • sergioacamposh says:

      Para insertar un valor de un objeto de un formulario a una celda puedes usar un ejemplo como este.

      Sheets(“Hoja1”).Range(“A1”).Value = UserForm1.TextBox1.Value

      Adecúa la celda donde quieres que se ingrese el valor.

  24. javier says:

    Con este ejemplo me he basado para realizar mi pregunta que te hice anteriormente si me carga los datos de la tabla A pero al guardar y abrir de nuevo el form me carga los datos de la tabla A y quiero que me muestre los datos de la tabla B con los datos que llene previamente en el form
    No se si me explico??

  25. Liss Paredes Sñj Lsr says:

    hola estoi asiendo una factura incrustando datos de una hoja en un cuadro combinado pero necesito que el resultado de eso no sea numerico sino la informacion de una lista de celdas de otra hoja como lo ago porfa m pueds ayudar

  26. Dante Hernandez Espinoza says:

    como puedo hacer esto en visual.net

  27. Javier Palacios says:

    hola. realice un formulario que me busque valores de acuerdo a la fecha que le coloque pero no me funciona- creo que mi error esta en el tipo de dato que busco.
    realice una prueba con texto y me funciona perfecto-
    Me podrían dar algún ejemplo de buscarv con format fecha para mi formulario.
    çGracias

  28. Luz says:

    Hola que tal, estoy haciendo un formulario, ya logre que en un combo1 me muestre una lista, el asunto es que quiero que al seleccionar un nombre de esa lista se muestre en otro combo2 otra lista. dependiendo del nombre del combo1, se muestre lista qu ele corresponde. Te agradeceria tu ayuda

  29. fernando valbuena says:

    hola buenos dias
    tengo una perticion la verada no soy experto en excel lo que quiero hacer es uprogramacdor de horarios para proifesores ya que yo soy el que hago esta labor pero manualmente een un cuaderno luego lo paso aexcel y quiero hacerlos desde un formulario si es posible:

    bno lo que quiero hacer es lo siguiente
    hacer un formulario donde halla 5 espacio

    salon – desplegable que muestre los salones que hay en el edificio
    hora – desplegable con hora de una hora desde las 7 am has las 10 pm
    profesor- desplegable con nombres de profesores
    dia – desplegable lunes a viernes
    materia – desplegable con todas las materias que se dictan

    luego esto pase automaticamente a una tabla por dia donde diga la hora, salon y que profesor esta y que esta dictando
    ejemplo
    lunes

    SALON 201 SALON 215
    7-8 GERMAN – FISICA JUAN QUIMICA
    8-9 GERMAN – FISICA JUAN QUIMICA
    9-10 FERNANDO -SISTEMAS MARIA -ESPAÑOL
    10-11 JUAN QUIMICA FERNANDO-SISTEMAS
    11-12 JUAN QUIMICA GERMAN -FISICA

    si pudieran guiarme estare muy agradecido

  30. David Galvez says:

    Hola, tengo un formulario para facturacion, pero lo que quiero es que segun el numero de identificador, en un combobox, al seleccionarlo, automaticamente me ponga el nombre y la direccion del numero de identificador que se a seleccionado, y que todo eso este en otra hoja de donde estan almacenados los datos de la empresa
    De antemano muchas gracias por tu aporte y tu ayuda

  1. January 2, 2011

    […] Utilizar un ComboBox como lista de búsqueda en Excel February 2010 4 […]

  2. December 29, 2011

    […] Utilizar un ComboBox como lista de búsqueda en Excel […]

  3. December 31, 2012

    […] Utilizar un ComboBox como lista de búsqueda en Excel […]

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: