No es muy fácil responderte con precisión considerando que casi no dejas información de tus macros.
Analicemos: '...que al seleccionar algunas de las opciones se me active una macro con la información que seleccioné...'
En mi ejemplo, la información seleccionada es un mes... y la macro seleccioná la hoja que tenga ese mes. Hasta ahí responde a tu pregunta.
Ahora, si mencionas que tenés varias macros y un listado quiero interpretar que al seleccionar 'Alianzas' se ejecutará una macro ... y si seleccionás 'Ecosistemas' debe ejecutar otra macro... y así con todas.
Si esto es correcto, la lista desplegable en C2 mostrará esos valores: Alianza, Ecosistemas, etc
Y la macro en el objeto HOJA quedaría así:
Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo se controla la celda C2
If Target.Address <> "$C$2" Then Exit Sub
'si se borra la celda no se ejecuta
If Target.Value = "" Then Exit Sub
'según el valor seleccionado será la macro a ejecutar
If Target.Value = "Alianza" Then Call macroAlianza : Exit Sub
If Target.Value = "Ecosistemas" Then Call macroEco : Exit Sub
If Target.Value = "Innovación" Then Call macroInnova : Exit Sub
'las macros estarán en otros módulos y en cada instrucción Call debes
'colocar el nombre que tengan en esos módulos.
End Sub
Luego en otros módulos tendrás cada una de las macros.
Podés utilizar los IF como en este ejemplo o un bucle del tipo:
Select Case Target.value
Case is = "Alianza"
Call macroAlianza
Case is = "Ecosistemas"
Call macroEco
'seguir con el resto de los nombres
End Select
Creo que esto último te llevará más líneas por lo que te sugiero el uso de los IF.
Si esto tampoco es tal como tenés tu aplicación, enviame copia de tu libro. Mis correos aparecen en sitio que dejo al pie.