Traducir el blog

Macros de Excel 4.0 - Información de hojas

Posted on septiembre 09, 2024 by Excel Pedro Wave

🔝To translate this blog post to your language, select it in the top left Google box.


Las macros de Excel 4.0 se introdujeron en 1992, lo que significa que su lanzamiento fue antes del 30 de abril de 1993, fecha en la que el CERN anunció públicamente la World Wide Web (WWW).

Dado que el lenguaje VBA se introdujo por primera vez con MS Excel 5.0 en 1993, hay una amplia literatura sobre VBA en Internet, pero muy poca sobre las macros de Excel 4.0 en español. Por esta razón, estoy publicando documentación sobre estas macros antiguas que todavía son funcionales en Excel.

En la primera entrega he hablado sobre las funciones de celda. Puedes descargar el archivo para probar los 66 tipos de funciones de celda de las macros de Excel 4.0 aquí:


En esta segunda entrega he traducido al español los 88 tipos de funciones con información de las hojas, llamando a la función INDICAR.DOCUMENTO(Tipo de función), por lo que he creado una hoja para probar fácilmente todos esos tipos de función.

He incluido un par de ejemplos que no requieren ningún código de programación para:

  • Listar los archivos de un directorio.
  • Listar las hojas de un libro.


Funciones de hojas con macros de Excel 4.0

Las macros de Excel 4.0 incluyen 88 tipos de funciones de hojas que devuelven información de la hoja de un libro de cualquier versión de Excel usada hoy en día.

Así se llama a esta función en versiones de Excel en español:

=INDICAR.DOCUMENTO(núm_tipo;nombre_texto)

Así se llama en versiones de Excel en inglés: 

=GET.DOCUMENT(type_num, name_text)

Siendo el primer argumento un número que especifica qué tipo de información se desea.

Y siendo el segundo argumento el nombre de un libro de trabajo abierto. Si se omite el segundo argumento, se asume que es el libro de trabajo activo, que será el caso de los siguientes ejemplos.

IMPORTANTE: Las funciones de macros de Excel 4.0 siempre se escriben como la fórmula de un nombre definido.

Por ejemplo, para obtener el nombre del libro activo se deben seguir estos pasos:

1) Seleccionar en la cinta de opciones: Fórmulas > Administrador de nombres

2) Crear un nuevo nombre definido: miLibro

3) Escribir la fórmula de miLibro: =INDICAR.DOCUMENTO(88)

4) Escribir en cualquier celda la fórmula: =miLibro

En esta imagen se puede ver la llamada a la función Macro4 en el editor de nombres:


Para probar los 88 tipos de función con información de hojas he creado un nombre definido al que se le pasa como primer argumento el número de tipo de función.

Con una segmentación de datos de una tabla dinámica auxiliar se selecciona el número de tipo de función, que se puede ver en la celda D4.

La llamada a la función se anota en las celdas F2:G2 y el valor devuelto se escribe en las celdas F4:G4


Tipos de funciones de hojas Macro4

He subido a la nube de MS OneDrive los 88 tipos de funciones de hojas, tanto en español como en inglés, para que sepas todo lo que se puede hacer antes de que descargues el archivo que he preparado con estas funciones de las macros de Excel 4.0

La nube de MS OneDrive es compatible con Excel para la Web, por lo que no es compatible ni con las funciones y macros VBA, ni con las funciones de Macros de Excel 4.0


Cómo listar los archivos de un directorio

Sin saber programar en lenguaje VBA se pueden listar los archivos de un directorio con las macros de Excel 4.0 siguiendo estos pasos:

1) Escribe en cualquier celda la ruta de un directorio acabada en asterisco. Por ejemplo, en mi Windows: C:\Users\Pedro Wave\Downloads\Desarrollo\TodoExcel\*

2) Asigna el nombre miDirectorio a la celda con el directorio. Por ejemplo miDirectorio: ='EXCEL 4.0'!$D$7

3) Crea un nombre definido misArchivos: =TRANSPONER(ARCHIVOS(miDirectorio))

4) Escribe esta fórmula en cualquier celda. En el ejemplo se escribe en la celda D9: =misArchivos

El resultado obtenido es una matriz vertical con todos los archivos del directorio elegido, como muestra esta imagen:


Si añado detrás del asterisco: *.pdf se obtienen únicamente los archivos del tipo pdf:


En el archivo que puedes descargar más abajo, en la celda D7 se puede seleccionar con un desplegable todos los subdirectorios donde se encuentre el archivo descargado.


También se puede editar aunque sea un desplegable, para poder elegir cualquier directorio del equipo.

Para conseguir la ruta del directorio del archivo Excel descargado y sus subdirectorios, en la hoja 'AUX' he escrito unas cuantas fórmulas, siendo la más importante la de la celda A2: =miCarpeta&"\*"

Con el Administrador de nombres he creado previamente miCarpeta: =INDICAR.DOCUMENTO(2)

En la columna B se calculan los subdirectorios con un asterisco para listar todos sus archivos.


Cómo listar las hojas de un libro

En la hoja 'HOJAS - SHEETS' se obtiene la lista de hojas del archivo descargado.

La fórmula de la celda A2 es: =misHojas

En el Administrador de nombres he definido el nombre:

misHojas: =TRANSPONER(INDICAR.LIBRO(1))&T(HOY())

La función INDICAR.LIBRO(1) devuelve los nombres de todas las hojas del libro de trabajo, como una matriz horizontal de valores de texto. Los nombres se devuelven como [libro]hoja.

En inglés la función sería: GET.WORKBOOK(1)

Para convertir la matriz horizontal en vertical se usa la función: TRANSPONER()

Para que la fórmula sea volátil he añadido: &T(HOY())

Con lo que, presionando la tecla <F9>, se consigue actualizar la lista de hojas en cualquier momento.

La función T devuelve un texto vacío pues HOY() es un número.

En la celda B2 está la fórmula: =SI(A2="";"";HIPERVINCULO(SUSTITUIR(A2 & "'";"]";"]'") & "!A1";SUSTITUIR(A2;"[" & miLibro & "]";"")))

Estando definido el nombre miLibro: =INDICAR.DOCUMENTO(88)

Con lo que consigo eliminar [libro] y solamente queda un hipervínculo a la primera hoja.

La fórmula de la celda B2 se arrastra hacia abajo para obtener todas las hojas del libro.

Si se hace clic en cualquiera de las hojas, se puede ir a la celda A1 de la hoja seleccionada.

Con lo que hemos conseguido un listado de las hojas del libro sin necesidad de programar nada, solamente llamando a funciones de las macros de Excel 4.0


Vídeo con las funciones de hojas Macro4

En este vídeo de dos minutos explico cómo usar las funciones de hojas de las macros de Excel 4.0


Descarga las funciones de hojas Macro4

Descarga las funciones de hojas de las Macros de Excel 4.0, compatibles con las versiones de escritorio desde Excel 2010 hasta Excel para Microsoft 365.

Las macros del archivo descargado están bloqueadas por defecto. Para desbloquear las macros debes modificar las Propiedades del archivo siguiendo estas instrucciones:

Las macros de Internet están bloqueadas de forma predeterminada en Office - Deploy Office | Microsoft Learn

ATENCIÓN: En versiones desde Excel 2016 puede ser que haga falta entrar en: Archivo > Más... > Opciones > Centro de confianza. Presionar el botón: Configuración del Centro de confianza... Y seleccionar: Configuración de macros

Para mayor seguridad de las macros, las versiones desde Excel 2016 también tienen una casilla para Habilitar macros de Excel 4.0 cuando las macros de VBA están habilitadas. Si activa esta casilla, todas las configuraciones anteriores para macros de VBA también se aplicarán a las macros de Excel 4.0 (XLM). Si esta casilla no está seleccionada, las macros XLM se deshabilitarán sin notificación. Más información en este enlace:

Habilitar o deshabilitar macros en archivos de Microsoft 365 - Soporte técnico de Microsoft

Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.

Presiona el botón: Habilitar contenido cuando aparezca la ADVERTENCIA DE SEGURIDAD Las macros se han deshabilitado o se deshabilitó parte del contenido activo.

Las hojas están protegidos sin contraseña, por lo que puedes estudiar las fórmulas y las funciones Macro4.

ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:

Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0


Documentación sobre Macros de Excel 4.0

Para escribir acerca de las funciones de hojas utilizando Macros de Excel 4.0, he consultado las siguientes páginas.

Documentación en español:

Funcion VB4 Excel ARCHIVO (FILES) | EXCEL FORO: Un blog de Excel

INDICAR.LIBRO para crear índice de hojas | EXCEL FORO: Un blog de Excel

Número de página en una celda de Excel. | EXCEL FORO: Un blog de Excel

Detectar celda con fórmula en Excel. | EXCEL FORO: Un blog de Excel

Mapas por regiones en Excel | EXCEL FORO: Un blog de Excel

Trabajar con vínculos en Excel - Soporte técnico de Microsoft

Fórmulas de matriz dinámica frente a fórmulas de matriz CSE heredadas - Soporte técnico de Microsoft

ATENCIÓN: El archivo descargado usa fórmulas de matriz dinámica para listar archivos y para listar hojas. Como las fórmulas de matriz dinámica solo son compatibles con las versiones más recientes de Excel, al abrir el archivo descargado en versiones antiguas, como Excel 2010, se deben convertir en fórmulas de matriz CSE leyendo el enlace anterior, con lo que conseguirás ver la lista de archivos o la lista de hojas.


Documentación en inglés:

Using Excel 4 Macro Functions - Excel Off The Grid

Excel function to list files in a folder without VBA - Excel Off The Grid

Dynamically List Excel Sheet Names • My Online Training Hub


AGRADECIMIENTOS

Tengo que agradecer a Ismael Romero, Microsoft MVP de Excel desde 2014, sus interesantísimos artículos sobre las Macros de Excel 4.0, con los que he aprendido a usar las funciones de Macros4.

Su blog sigue siendo una pieza de colección y una fuente de inspiración para quien quiera seguir aprendiendo los trucos de Excel que no vienen en los libros:

Accede a todos los artículos de Macros de Excel 4.0 siguiendo este enlace:

No Response to "Macros de Excel 4.0 - Información de hojas"

Leave A Reply

Dime si te gusta lo que lees y, si no te gusta, dime por qué. Tengo habilitada la moderación de comentarios. Tu comentario se publicará pronto.

Mi lista de blogs