Pregunta ¿Cómo se pueden ejecutar macros por defecto desde este libro de trabajo, NO todos los libros abiertos?


Tenemos un libro de trabajo macro habilitado (versión 2010) que muchas personas usan. Algunas de estas personas tienen macros en su libro de trabajo Personal.xlsb. Tenemos una situación en la que el macro en el libro de trabajo compartido se llama igual que una macro en libros de trabajo personales pero hace cosas ligeramente diferentes.

Para evitar ejecutar el macro incorrecto, me gustaría usar el libro de trabajo compartido de forma predeterminada para ejecutar macros desde este libro de trabajo en lugar de abrir todos los libros de trabajo. Espero colocar algo en WorkBook_Open(), ¿pero que?

¿Hay alguna manera de cambiar la opción predeterminada para Macros en: All Open Workbooks a This Workbook?


0


origen




Respuestas:


¿Pueden cambiar el nombre de la macro en el libro de trabajo compartido y reemplazar las instancias de esa macro en ese libro de trabajo específico?


0



Podríamos pero eso no evita que esto suceda nuevamente. - B540Glenn


Si cambio el nombre de los módulos que contienen las subrutinas, puedo especificar exactamente qué sub llamar.

Ejemplo:
En Modlue1, renombrado como LocalModule1, tengo:

Sub TestDupe()
    Call LocalModule1.DuplicateName
End Sub

Public Sub DuplicateName()
    ActiveSheet.UsedRange
    MsgBox ("new mod 1")
End Sub

En Module2, renombrado como LocalModule2, tengo

Public Sub DuplicateName()
      ActiveSheet.UsedRange
      MsgBox ("mod 2")
End Sub

Al cambiar el calificador en la llamada de LocalModule1 a LocalModule2, Ahora puedo dictar qué subrutina con el mismo nombre para ejecutar.


0