Como hacer que un combobox me muestre solo los registros de un determinado usuario en un userform

Tengo una hoja "Datos" donde guardo mediante un userform los datos ingresados por los usuarios y a su vez tengo una hoja por cada usuario con su respectivo nombre donde el userform a la vez guarda solo los registros que le corresponden a cada usuario.

Tengo un userform de búsqueda donde me recupera los datos del registro seleccionado mediante un combobox. En un label me muestra el nombre del usuario, quisiera saber si es posible que el combobox solo me muestre los registros del usuario que figura en el label. He tratado de hacerlo seleccionando la hoja del usuario correspondiente, pero aunque solo me permite ver la información de los registros de la hoja del usuario, el combobox me sigue mostrando todos los registros ingresados en la hoja "DATOS". Quisiera que el combobox me muestre solo los registros de un usuario específico.

Respuesta
1

Si lo que deseas obtener son los registros de la hoja del usuario ... paso 1

Si lo que deseas obtener son los registros de hoja DATOS pero de cierto usuario ... paso 2.

1) No se comprende el papel del label... pero si seleccionas el usuario desde el combo, se declara ese dato como hoja activa. Se entiende que tu hoja se llama como el usuario. Entonces:

Set hou = Sheets(combobox1.text)     'ajustá el nombre de tu control combo o quizás puedas utilizar el del Label:

Set hou = Sheets(Label1.Caption)

Y luego todo lo que muestres será de esa hoja. Por ejemplo:

Textbox1 = hou.range("A5")

o Listbox1.additem = hou.Range("B" & x)

2) Hay mas de una opción: filtrar hoja DATOS por el usuario y mostrar esos registros filtrados o copiarlos en otro rango auxiliar y trabajar con ese rango.

Comprenderás que son solo ejemplos que estoy imaginando debido a que no dejas ninguna idea de lo que vas a mostrar en la búsqueda.

Una vez que tengas decidido cuál de los 2 pasos vas a seguir, si necesitas algún ajuste deja imagen de los encabezados de tu hoja e imagen del formulario de búsqueda.

Hola Elsa Matilde, gracias por tu respuesta.

Te ilustro un poco mi caso para ver si puedes ayudarme.

Este es mi userform:

Lo que está marcado en amarillo es el label con el nombre del ususario, éste usuario debe acceder con una clave para llegar a éste userform. ahora, mi problema está en que cuando uso el combobox que está encerrado en rojo para buscar la orden de compra (que aparece como "Nro" en la hoja de datos, la cual muestro abajo) me muestra todas las ordenes de compra generadas y yo quisiera que sólo me muestre las ordenes generadas por un usuario determinado, en el caso del gráfico sólo las ordenes generadas por "LUIS ALBERTO PEREDA" y no las generadas por otro usuario. Quisiera que me ayudes con esto, si es posible claro. Gracias de antemano.

En el momento debes llenar el combo, y eso dependerá de cuándo ya se sepa el contenido del Label.

Imaginé que al abrir el UF ya tendrás esa información, por eso llamo a la macro desde el evento Initialize. La macro estará ubicada también en el Userform.

Private Sub UserForm_Initialize()
'el label ya recibe un valor
    'Label1.Caption = "LUIS ALBERTO PEREDA"
Call MacroFiltro
End Sub
Sub MacroFiltro()
'x Elsamatilde
'si no hay filtros aplicados se coloca
If ActiveSheet.AutoFilterMode = False Then
    Range("A2:D2").AutoFilter
End If
'se filtra hoja datos por el valor del combo
ActiveSheet.Range("$A$3:$D$" & Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=3, Criteria1:=Label1.Caption
'se establece el fin del rango filtrado
fini = Range("A" & Rows.Count).End(xlUp).Row
'si hay algún registro se lo agrega al combobox
If fini > 2 Then
    For i = 3 To fini
        If Range("A" & i).EntireRow.Hidden = False Then ComboBox1.AddItem Range("A" & i)
    Next i
End If
'se quitan los filros ....salvo que necesites seguir capturando información de esta hoja filtrada
Range("A2:D2").AutoFilter
End Sub

Y así se verá el resultado:

Si algo no te quedó claro podes solicitarme el libro con el ejemplo (cibersoft PUNTO arg ARROBA gmail.com

Sdos!

1 respuesta más de otro experto

Respuesta
1

Estos ejemplos es cuestión de poner un criterio para que filtre y suba esos datos filtrados al combobox fíjate

https://youtu.be/KCHAk9-dAPM

https://youtu.be/sWrUt9kItsg 

https://youtu.be/7c7mV8fe4sw

https://youtu.be/XtfABrA1loQ

Aca tienes más sobre combobox https://www.youtube.com/playlist?list=PLdK9H5dMIfQhfsDkpH5ZCBGrh68DfOTa3

Visita https://programarexcel.com descarga cientos de ejemplos de macros gratis

✋👉⏩⏩ SUSCRIBE https://www.youtube.com/c/programarexcel?sub_confirmation=1 ✋👈⏪⏪ activa la campana y disfruta de cientos de tutoriales sobre macros gratis

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas