Combo Box en Excel

Respuesta de
a
Usuario
Viejo, necesito saber como puedo poner un combobox en excel que me de la opción de escoger de 1 a 5 y que al escoger el número por medio de un botón una macro me lleve a una hoja determinada, dicha hoja depende del número, si en el combobox está el 1, al oprimir el botón la macro me llave a Hoja1! Si el combobox tiene 2, me lleve a Hoja2! Etc etc.

Un millón de gracias!
Avatar
Experto
Hola, beorhtnoth

Si creaste el combobox en un formulario de MS Excel, asocia a un botón de "Aceptar" (por ejemplo, a CommandButton1), la siguiente macro:

Private Sub CommandButton1_Click()
HojaDest = "Hoja" & Trim(ComboBox1.Value)
Sheets(HojaDest).Activate
End Sub

Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
Si no, pregúntame de nuevo.

Un abrazo!
Fernando

"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".


*====================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
(Considera que la valoración que figura predeterminada
es 3/5. Tal vez quieras cambiarla...)
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó. Gracias...
*====================================*
Usuario
Mirá Fernando, no pensé que contestaras tan rápido y tuvieras tan buena solución, en cuanto al botón excelente, ahora bien, el problemilla que aun resta es que no se pasar un ComboBox del USerForm de VBA a Excel y luego asociarlo a esa macro que me dices.
Ojalá me ayudes, gracias por lo primero y perdona la ignorancia
Avatar
Experto
OK, por lo que mencionas, aparentemente tu combobox está insertado en la hoja y no en un Userform de VBA.

Es decir que es un control creado con la barra de herramientas "Formularios"

En tal caso, sabrás que puedes asignar una celda para que deje el resultado de la selección de tal combobox. Digamos a modo de ejemplo que quedará en la celda "D2"

Sobre la base de la idea anterior la macro que necesitas sería, ahora:

Sub irahoja()
HojaDest = "Hoja" & Trim(Range("D2").Value)
Sheets(HojaDest).Activate
End Sub

Si tu celda de destino no fuera "D2", cámbiala donde vez la referencia a ella en mi macro.

Si das (otra vez) botón derecho sobre el combobox, notarás una opción que dice "Asignar macro". Elígela y asígnale el macro que te sugerí (irahoja).

De esta manera cada vez que selecciones un número de este combobox, la macro será disparada e irá a la hoja seleccionada.

Espero que esto sí sea lo que buscas.

Un abrazo!
Fernando
Usuario
Perfecto hermano, muchísimas gracias por la dedicación

Mauricio