
Tengo Excel 2013. Para acceder a VBA presioné accidentalmente Ctrl+ F11en lugar de Alt+ F11y se creó una nueva hoja de trabajo llamada 'Macro1'. Parece una hoja de trabajo normal, pero el ancho de columna predeterminado de cada columna es mucho más ancho y la opción 'Ver código' está desactivada en el menú contextual.
No se encuentra mucho en Internet sobre el propósito y la relevancia de esta hoja. ¿Alguien sabe de qué trata esta hoja de Macro y para qué sirve?
Respuesta1
Es una hoja de macros de Excel 4.0, parte del lenguaje de macros XLM. Se incluye por compatibilidad con versiones anteriores hasta Excel 4. El lenguaje VBA se introdujo en Excel 5 y es muy superior en todos los sentidos, por lo que XLM se ha eliminado gradualmente.
Para usarlo (no recomendado), escribe una serie de comandos XLM en una columna. Se ejecutará de arriba hacia abajo. Para declararlo, seleccione la celda superior de ese rango, luego en el menú 'insertar', en el submenú 'nombre', seleccione 'definir'. Asígnale un nombre adecuado y pulsa "añadir". Luego selecciónelo dentro del mismo cuadro de diálogo y los botones de opción aparecerán debajo. Ofrecerán "comando", "función" o "ninguna". Elija comando o función, según corresponda.
Incluso puede llamar a un procedimiento VBA desde una macro XLM de Excel 4.0 utilizando la función RUN de XLM. Por ejemplo, la siguiente macro ejecuta la subrutina de prueba contenida en el Módulo1 del libro de trabajo Libro1.xls:
=RUN(Book1.xls!Module1.Test)
Como se dijo enEste artículo:
Gracias a la práctica de Microsoft de “incompatibilidad estratégica” y al absoluto desprecio por la inversión realizada por sus clientes, estas macros rudimentarias han requerido modificaciones específicas para cada nueva versión de Excel en la década desde su lanzamiento original, y las cosas han empeorado, no mejor, desde que Microsoft introdujo el nuevo lenguaje de programación Visual Basic para Excel (en sí mismo un pozo negro de incompatibilidad entre versiones)
Si desea saber más sobre XLM, aquí tiene algunos recursos:
- Trabajar con macros de Excel 4.0
- Archivo de ayuda para macros de Excel 4.0(requiere winhlp32)
Respuesta2
La gente ha estado buscando formas de "ocultar" datos a los usuarios, pero incluso usando xlVeryHidden, puedes ver hojas si vas al editor de VBA. Puede proteger con contraseña el proyecto VBA, pero mucha gente se olvida de hacerlo. Esta hoja XLM no se mostrará en el proyecto VBA y cuando recorra todas las hojas, ni siquiera se mostrará. Entonces, si usas xlVeryHidden con esta hoja, serás la única persona que lo sabrá. Podría usarlo para incrustar contraseñas, etc. y podría ofuscar cualquier llamada en código VBA complejo. Solo un pensamiento :-)