Macro para combobox y Msgbox con opciones

Estimad@s.

Tengo 2 dudas que para alguien que conoce del tema no debe ser difícil.

Bueno, lo primero que quisiera saber es si me puede explicar como hacer un combobox desde el principio principio. Lo que quiero hacer , es crear un combobox, que contenga valores de por ejemplo la celda a1:a20 de la "hoja1", por ejemplo:

a1: Pollo

a2: Auto

a3: Piedra... Etc etc,

Luego cuando empiece a escribir sobre el combobox, por ejemplo ponga la "P", me de las opciones de "pollo" y "piedra" (asi como autocompletar), y luego que ese valor me lo ingrese en la celda "e1" por ejemplo. Es importante poder escribir sobre el combobox y que no solo me funcione como lista.

----

Mi otra pregunta es como poder crear un msgbox (no se si sera la herramienta adecuada), que apenas se me abra el esxcel me diga "estmado usuario, prefiere ir a la hoja 1 u hoja 2" y abajo poner 2 botones uno que me dirija a la hoja 1 y otro que me dirija a la hoja 2.

Bueno, espero haber sido claro... Desde ya muchas gracias!!

1 respuesta

Respuesta
1

Lo primero que debes hacer es ir a la pestaña programador selecionar el boton insertar, luego debes seleccionar en el apartado de control activex, el control cuadro combinado.

Una vez insertado en la hoja vas al editor de vbasic alt+f11, al costado izquierdo veras los objetos que comprenden el proyecto, dale doble click al objeto hoja1 ( si es en esta hoja en donde pusiste el combo) si lo pusiste en otra da doble click sobre el objeto que tiene el mismo nombre de la hoja
Se te abrira una ventana de edicion en blanco alli pegas esto:

Private Sub ComboBox1_Change()
Range("E1") = ComboBox1
End Sub
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim i As Long
Dim T As Long
Dim c As Variant
'4c7569735f50
T = Application.WorksheetFunction.CountA(Range("A:A"))
If T = 0 Then Exit Sub
Sheets(1).ComboBox1.Clear
c = UCase(Chr(KeyAscii))
For i = 1 To T
If c = UCase(Mid(Sheets(1).Range("A" & i), 1, 1)) Then Sheets(1).ComboBox1.AddItem Sheets(1).Range("A" & i)
DoEvents
Next
End Sub

Ahora solo graba y ejecuta acciones sobre el combo el macro contara los elementos de la columna a y en base a la letra que presionaste sobre el combo, recorrera la lista he incluira solo los que coincidan

Respecto a lo segundo para que un cuadro el macro contara los elementos de la columna a y en base a la letra que presionaste sobre el combo, recorrera la lista he incluira solo los que coincidan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas