Quisiera saber como puedo añadir al menu contextual del botón derecho al pinchar una celda de la hoja de calculo, una "fila" que me ejecute una macro. Antes excel traía un "Editor de menús" pero creo que ya en excel 2000, y anteriores, no viene y hay que realizarlo mediante vba. Por más que lo intento con la ayuda no lo consigo. Vista la excelente respuesta a mi mensaje anterior me he animado ha hacer otra pregunta, espero que no lo consideres como un abuso de tu generosidad.
Ninguna pregunta es abuso, al contrario... Para poner una nueva opción al menú contextual de las celdas, utiliza el siguiente código... Public Sub MenuEnCelda() Dim cbCelda As CommandBar Dim mnuNuevo As CommandBarPopup Dim mnuOpcion As CommandBarButton Set cbCelda = CommandBars("Cell") Set mnuNuevo = cbCelda.Controls.Add(msoControlPopup, , , 5, True) mnuNuevo.Caption = "&Utilidades" mnuNuevo.Tag = "Util" Set mnuOpcion = mnuNuevo.Controls.Add(msoControlButton, , , , True) mnuOpcion.Caption = "&Convertir a valor" mnuOpcion.OnAction = "A_Valores" Set mnuOpcion = mnuNuevo.Controls.Add(msoControlButton, , , , True) mnuOpcion.Caption = "&Convertir a letras" mnuOpcion.OnAction = "A_Letras" Set mnuOpcion = mnuNuevo.Controls.Add(msoControlButton, , , , True) mnuOpcion.Caption = "&Convertir a MAYUSCULAS" mnuOpcion.OnAction = "A_Mayusculas" Set mnuOpcion = Nothing Set mnuNuevo = Nothing Set cbCelda = Nothing End Sub Toma en cuenta que las macros A_Valor, A_Letras y A_Mayusculas, las debes de tener creadas previamente, claro, que en tu caso, pondrás el nombre de la macro que te interese ejecutar, en este caso creamos un submenú, con varias opciones, cada una ejecutara una macro, pero si solo quieres una opción que ejecute directamente una macro entonces prueba este código.. Public Sub MenuEnCelda() Dim cbCelda As CommandBar Dim mnuOpcion As CommandBarButton Set cbCelda = CommandBars("Cell") Set mnuOpcion = cbCelda.Controls.Add(msoControlButton, , , 1, True) mnuOpcion.Caption = "&Convertir a valor" mnuOpcion.OnAction = "A_Valores" Set mnuOpcion = Nothing Set cbCelda = Nothing End Sub Ahora, solo te resta decidir, si este menú esta activo para cualquier hoja, cualquier libro o solo los que tu quieras, esto es poca cosa, así que te queda de tarea.