LLenar un casillero en Excel dependiendo del Combobox

Necesito una macro donde mediante un formulario ingreso información en la hoja de Excel, cual es mi consulta en que me busque de un rango de fila el valor del combobox y si lo encuentra lo llene en el casillero de abajo y si se encuentra lleno el casillero se salte al otro casillero con un textbox.

Ejemplo:

Valor a Buscar Pepito, rango de busqueda A5:M5, lo encuentre y el valor del textbox lo llene casillero A6, tener en cuenta que el rango A5:M5 se encuentra combinadas las celdas.

1 respuesta

Respuesta
1

Está difícil de comprender tu consulta.

¿Tiene qué buscar en un rango de fila el valor del combobox?

PD) Acabo de publicar el último video en mi canal donde presento un UF con un combobox de búsqueda y volcando en textbox los campos del registro encontrado. Fijate se te sirve para adaptarlo a tu caso.

Sino deja una imagen de tu formulario y el encabezado de la hoja para guiarnos.

Sdos.

Elsa

https://www.youtube.com/watch?v=n1xELUOt-LY&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=2&t=54s 

Estimada Elsa excelente la userform te felicito por tu trabajo, pero necesito de tu ayuda ajunto imagen de lo que necesito y detallo lo que se busca.

En espera de tu ayuda a lo indicado, anticipo mi agradecimiento.

Att.

Andrés Moncayo

Tener en cuenta que el rango A5:M5 se encuentra combinadas las celdas.

No se ve así en la imagen. Por favor enviame copia de tu formato (hoja con encabezados).

Mis correos aparecen en mis sitios. Sino deja la muestra en algún sitio de descarga.

Sdos!

Estimada Elsa, buenos días, adjunto enlace para tu revisión y ayuda con lo solicitado, gracias.

https://1drv.ms/x/s!Ai9xE2z1wSyIiWlGRp1WoXCA67aY?e=nDs1CK 

Att.

Andrés Moncayo

Hay mucho para aclarar aún en tu formulario:

- No tiene ningún control para la búsqueda del apellido. Por lo que el pase solo se está haciendo en fila 5 (filx = 5)

- Se selecciona la hoja del Combobox1 (hay 1 sola hoja) y se ejecuta desde el botón ComandButton1)

- Cuando se realiza el pase se puede limpiar 1, 2 o los 3 controles dependiendo de cómo se hará la carga: si es por hoja y criterio solo se limpia el textbox y se procede a continuar con otro valor (así lo dejé).

- O se puede optar por cerrar el UF (en ese caso no es necesario limpiar el UF antes). Utiliza Unload Me para cerrarlo... Hide solo lo oculta.

- Como son notas numéricas enteras utiliza VAL para realizar el pase a la hoja.

Private Sub CommandButton1_Click()
'x Elsamatilde
'se guarda el contenido del textbox en hoja del combobox1 (Sociales PQ)
If ComboBox1 = "" Or ComboBox2 = "" Then Exit Sub
Sheets(ComboBox1.Text).Select
'la 1er col del título según combobox2 a partir de col 3 (6 col)
Set busco = Rows("3:3").Find(ComboBox2.Text, LookIn:=xlValues, lookat:=xlWhole)
If busco Is Nothing Then
    MsgBox "NO se encuentra el texto del combobox2"
    Exit Sub
Else
    colx = busco.Column
End If
'la fila es la del apellido encontrado...... FALTA LA BÚSQUEDA DEL APELLIDO
filx = 5
pase = 0    'indicará si hay lugar para guardar la nota
'se busca la celda vacía para volcar el textbox
For i = colx To colx + 5
    If Cells(filx, i) = "" Then
        Cells(filx, i) = Val(TextBox1)
        pase = 1
        Exit For
    End If
Next i
If pase = 0 Then MsgBox "No hay más casilleros para esta nota."
'opcional: limpiar el form o salir
TextBox1 = ""    ':combobox2.ListIndex = -1:combobox1.listindex = -1
'Unload Me
End Sub

Sdos y no olvides valorar las respuestas. Cualquier tema adicional que sea en nuevas consultas. Gracias.

Elsa

PD) En videos 16 y 25 de mi canal dejé ejemplos del método FIND o la instrucción SET busco = ... Esta semana saldrá otro video corto con más ejemplos de este tema.

¡Gracias! Elsa, como siempre tu ayuda con tus aportes siempre ayudan a salir de apuros, estoy muy agradecido.

Att.

Anrdrés Moncayo  

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas