Estoy tratando de llamar a una macro de Excel que está en otro libro de trabajo. Es una macro específica de la hoja, pero la sintaxis proporcionada por la documentación e investigación de Microsoft en la web solo brinda una manera de acceder a una macro solo por el libro. Esa es la sintaxis:¿Cómo llamar macro macro específica de una hoja de un libro de Excel en otro?
Application.Run ("testworkbook.xls!macroname")
Lo que necesito hacer es tener una referencia de hoja de allí también, algo así como:
Application.Run ("testworkbook.xls!Sheet1.macroname")
He intentado esto y otras muchas variaciones, incluyendo el tener doble o individual cita ahí, pero siempre recibo el mensaje de que no se puede encontrar la macro.
Edit: Con todas las pistas y muchas pruebas encontré la respuesta. Puede acceder a subunidades específicas de la hoja, pero debe usar el nombre canónico como 'Hoja1', no puede usar el nombre de la hoja real. Aparentemente, otros libros de trabajo no tienen acceso a esa información.
Así que el formato anterior funciona, siempre y cuando no se trate de utilizar el sheetname (y puede que tenga que comilla simple el nombre del libro (concatenando CHR(39)
a cualquiera de los extremos).
@Lance Roberts: ¿la respuesta a continuación responde a su pregunta? –
@Otaku, sí, aunque terminé simplemente usando el nombre de la hoja canónica. Pero me gusta toda la información que me brindas, así que aceptaré tu respuesta (ya la voté anteriormente). –
es suficiente. No estoy seguro de si el nombre de la hoja canónica es el mismo para las IU que no están en inglés, si es algo con lo que tiene que lidiar, pero es rápido y sencillo para estos fines. apprecaiate the accept/upvote. –