Traducir el blog

Macros de Excel 4.0 - Datos de ventanas

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


Coincidiendo con el comienzo del curso escolar, este mes de septiembre lo he dedicado a enseñar cómo obtener datos de todo tipo con las funciones de las macros de Excel 4.0, que son las macros más antiguas de Excel, pero que siguen siendo muy útiles si no quieres aprender las macros VBA.

En la quinta entrega (¡y última por ahora!) encontrarás la traducción al español de las macro-funciones con información de las ventanas, windows en inglés, de las macros de Excel 4.0

Podrás descargar el archivo de la imagen para conocer todas las funciones de las ventanas y sus valores, tanto en inglés como en español.


Macro-funciones de las Ventanas

Todas las macro-funciones de Excel 4.0 se deben crear con el Administrador de nombres, como un nombre definido con la fórmula incluyendo la función.

Las funciones de ventana se definen así en español:

=INDICAR.VENTANA(Tipo_num)

En inglés se definen así:

=GET.WINDOW(Type_num)

siendo Tipo_num o Type_num: el número del tipo de función del 1 al 31.

En el archivo que descargarás más abajo, para obtener todos los tipos de función de ventana, he definido este nombre estando seleccionada la celda E5:

miInfo: =INDICAR.VENTANA(!$B5)&T(HOY())

Con la referencia relativa a !$B5 se consigue obtener en el rango E5:E35 los valores devueltos por la macro-función, simplemente con escribir en esas celdas la fórmula: =miInfo

El signo de admiración ! permite llamar a la macro-función desde cualquier hoja.

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

con lo que los valores devueltos por las macro-funciones se actualizan al presionar la tecla <F9>


Tipos de macro-funciones de Ventana

He subido a la nube de MS OneDrive los 31 tipos de funciones de Ventana (Window), 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 macros VBA, ni con las funciones de las Macros de Excel 4.0


Vídeo con las macro-funciones de Ventana

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


Descarga las macro-funciones de Ventana

Descarga las funciones de Ventana con 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


Todos mis artículos sobre Macros de Excel 4.0

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

Macros de Excel 4.0 - Información de libros

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


En la cuarta entrega verás la traducción al español de las macro-funciones de los libros de trabajo, workbooks en inglés, de las macros de Excel 4.0

Podrás descargar el archivo de la imagen para conocer todas las funciones de los libros y sus valores, tanto en inglés como en español.


Información de las macro-funciones de Excel 4.0

En la siguiente página encontré la inspiración para poder escribir sobre las funciones de las macros de Excel 4.0:

El artículo fue escrito por Philip Treacy, Co-Founder/Owner at My Online Training Hub, donde comentaba lo siguiente:

"El problema que tuve fue que no pude encontrar fácilmente ninguna referencia a las macros de Excel 4. Debido a que fueron escritas para una versión tan antigua de Excel, el archivo de ayuda para las macros ya no es un formato compatible a partir de Windows 10. Así que decidí armar este libro electrónico de referencia de 653 páginas. Básicamente, contiene el archivo de ayuda oficial de las funciones de macro de Microsoft Excel 4, pero en un formato PDF útil."

Por lo que me descargué el archivo PDF en inglés, cosa que te animo a hacer, y copié las funciones que quería traducir al español para cada uno de los artículos sobre macro-funciones que estoy publicando este mes.


Macro-funciones del libro de trabajo

Todas las macro-funciones de Excel 4.0 se deben crear con el Administrador de nombres, como un nombre definido con la fórmula incluyendo la función.

Las funciones de libro de trabajo se definen así en español:

=INDICAR.LIBRO(Tipo_num)

En inglés se definen así:

=GET.WORKBOOK(Type_num)

siendo Tipo_num o Type_num: el número del tipo de función del 1 al 38.

En el archivo que descargarás más abajo, para obtener todos los tipos de función del libro he definido este nombre estando seleccionada la celda E5:

miInfo: =INDICAR.LIBRO(!$B5)&T(HOY())

Con la referencia relativa a !$B5 se consigue obtener en el rango E5:E42 los valores devueltos por la macro-función, simplemente con escribir en esas celdas la fórmula: =miInfo

El signo de admiración ! permite llamara a la macro-función desde cualquier hoja.

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

con lo que los valores devueltos por las macro-funciones se actualizan al presionar la tecla <F9>


Tipos de macro-funciones de Libro

He subido a la nube de MS OneDrive los 38 tipos de funciones de Libro (Workbook), 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 macros VBA, ni con las funciones de las Macros de Excel 4.0


Vídeo con las macro-funciones de Libro

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


Descarga las macro-funciones de Libro

Descarga las funciones de Libro con 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


Todos mis artículos sobre Macros de Excel 4.0

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

Macros de Excel 4.0 - Área de trabajo

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


En mi humilde opinión las macros de Excel 4.0 son unas desconocidas porque la documentación está en inglés. Este mes de septiembre lo dedico a traducir al español algunas funciones de las Macros4 en varios artículos de mi blog que encontrarás aquí:

Sin necesidad de programar macros en VBA, podrás obtener información sobre la versión de Excel, el sistema operativo, la impresora, el país, el separador decimal, el separador de listas y otros 138 tipos de datos.

Si te parece interesante, ¡sigue leyendo!


Información del Área de trabajo

Esta es la tercera entrega sobre funciones de las macros de Excel 4.0, y la dedico a traducir los tipos de función con los que obtener información sobre el Área de trabajo de Excel, en inglés Workspace.

Observa en esta imagen animada que hay dos casos diferentes:

  • Columnas con Tipo_num y sin Subtipo: Para llamar a los tipos de función que no devuelven una matriz de valores.
  • Columnas con Tipo_num y con Subtipo: Para llamar a los tipos de función que devuelven una matriz de valores y obtener cada uno de los elementos de la matriz según el Subtipo.

Por ejemplo:

  • Tipo_num = 2 y Subtipo vacío: Devuelve el número de versión de Microsoft Excel, como texto. Por ejemplo, devuelve: 16.0 si la compilación instalada es: Excel para Microsoft 365 MSO (versión 2408 compilación 16.0.17928.20114) de 64 bits.
  • Tipo_num = 37 y Subtipo = 1: Devuelve el número correspondiente a la versión de país de Microsoft Excel. Por ejemplo: 34 corresponde a España.

Los pasos que he seguido para llamar a los tipos de función Área de trabajo de las Macros de Excel 4.0 son:

1) Editar la celda B5 con el valor del Tipo_num

2) Editar la celda C5 con valor vacío o con valor del Subtipo

3) Definir con el Administrador de nombres un nuevo nombre:

miInfo: =INDICAR.AREA.DE.TRABAJO(!$B5)&T(HOY())

El signo de admiración en !$B5 permite que esta fórmula funcione en cualquier hoja.

Siendo T(HOY()) un valor vacío con el que la fórmula se hace volátil y se actualiza al presionar la tecla <F9> 

4) Escribir en la celda D5 esta fórmula:

  • Para versiones recientes de Excel: =INDICE(miInfo;$C5)
  • Por compatibilidad con versiones antiguas de Excel: =SI($C5=0;miInfo;INDICE(miInfo;$C5))

Con lo que devuelve el valor del tipo de función y su subtipo, si lo hay.

En la siguiente imagen se aprecia el resultado de estos pasos:

Con la fórmula en D5 se extrae el texto del tipo de función de la hoja 'INDICAR.AREA.DE.TRABAJO' si se selecciona en español, o de la hoja 'GET.WORKSPACE' si selecciona en inglés.

Arrastrando hacia abajo las fórmulas del rango C5:D5 se obtienen cada uno de los valores de las funciones del Área de trabajo, según los valores de las columnas Tipo_num y Subtipo.


Tipos de funciones de Área de trabajo

He subido a la nube de MS OneDrive los 72 tipos de funciones del Área de trabajo (Workspace), 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

Además, las funciones que devuelven una matriz se han desglosado en sus elementos, por lo que se obtienen hasta 138 tipos de información con los 72 tipos de funciones del Área de trabajo.

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


Vídeo con las funciones de Área de trabajo

En este vídeo explico cómo usar las funciones de Área de trabajo de las macros de Excel 4.0


Descarga las funciones de Área de trabajo

Descarga las funciones de Área de trabajo con 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


Todos mis artículos sobre Macros de Excel 4.0

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

Macros de Excel 4.0 - Información de hojas

🔝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 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:

Macros de Excel 4.0 - Funciones de celda

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


Incluso si aún no sabes programar las macros de VBA, todavía puedes extraer mucha información de las celdas usando los 66 tipos de funciones de celda de las macros de Excel 4.0.

Más abajo puedes descargar un archivo con macros de Excel 4.0 con el que puedes probar cada uno de los 66 tipos de función con información de las celdas. Este es su aspecto:

Pero antes de profundizar en las macros de Excel 4.0 exploraremos algunas alternativas para obtener información de las celdas.

Voy a exponer tres métodos, con sus PROS y sus CONTRAS, para determinar la anchura de una celda, es decir, el ancho de la columna en la que se encuentra dicha celda:


Función CELDA

Comúnmente existe la función CELDA, que devuelve información sobre el formato, la ubicación o el contenido de una celda. El primer argumento es el tipo de información, el segundo es la referencia a la celda.

Por ejemplo, para obtener el ancho de la celda A1, escriba en cualquier celda una de estas dos fórmulas, con el primer argumento en español o en inglés:

=CELDA("ancho";$A$1)
=CELDA("width";$A$1)

Cada unidad del ancho de columna es igual al ancho de un carácter en el tamaño de fuente predeterminado.

NOTA: El tipo "ancho" devuelve una matriz con 2 elementos. El primer elemento de la matriz es el ancho de columna de la celda, redondeado a un entero. El segundo elemento de la matriz es un valor booleano; el valor es VERDADERO si el ancho de columna es el predeterminado o FALSO si el usuario ha establecido explícitamente el ancho.

PROS:

  • Se edita en una celda con la autoayuda de las funciones.
  • Es una función nativa de Excel.
  • Funciona en todo tipo de libros de Excel, incluso del tipo sin macros: *.xlsx
  • Es compatible con versiones desde Excel 2010.

CONTRAS:

  • ATENCIÓN: El ancho de columna de la celda es redondeado a un valor entero.
  • Es sensible al idioma de Excel. Si se escribe "ancho" en el primer argumento, genera error en un idioma distinto del español. Si se escribe "width" obtiene el ancho en cualquier idioma de Excel.
  • Únicamente hay 12 tipos de información. Se puede obtener el "ancho" de una celda pero no el "alto".
  • Algunos tipos de información no son compatibles con Excel para la Web, Excel Mobile ni Excel Starter.


Propiedades de las celdas con macros VBA

Se puede obtener el ancho de la celda activa en el lenguaje VBA con la siguiente función definida por el usuario (UDF - User Defined Function):

Siendo una unidad de ancho de columna igual al ancho de un carácter en el tamaño de fuente predeterminado, por lo que esta función devuelve el mismo valor decimal (double) que la función CELDA.

Si en lugar de la propiedad ColumnWidth, con el ancho de una columna en dichas unidades, se llama a la propiedad Width, lo que devuelve es el ancho en puntos, siendo un punto igual a 1/72 pulgadas, por lo que no es la misma unidad de medida que la función CELDA.

En lugar de obtener el ancho de la celda activa (ActiveCell) se puede obtener el ancho de un rango (Range).

AVISO: Para actualizar los cambios en la celda activa o en su ancho, se incluye el Método Application.Volatile para marcar como volátil la función. Las funciones volátiles deben recalcularse cuando tenga lugar un cálculo en cualquier celda de la hoja de cálculo, lo que se consigue presionando la tecla <F9> en cualquier momento.

PROS:

  • Con una UDF se puede obtener cualquier propiedad de las celdas de una hoja de cálculo.
  • Función fácil de usar una vez programada.
  • VBA se lanzó por primera vez con MS Excel 5.0 en 1993.

CONTRAS:

  • Se edita la función dentro de una UDF en un módulo con el Editor VBA.
  • No funciona en archivos con formato .xlsx pues VBA necesita formatos .xlsm o .xls habilitados para macros.
  • Para poder modificar la función UDF hay que saber programar en lenguaje VBA y conocer las propiedades de los objetos de Excel.
  • Para obtener cada una de las propiedades de las celdas se suele programar una función distinta en VBA, con lo que para 66 propiedades harán falta otras tantas funciones UDF.
  • No es compatible con Excel para la Web y Excel Mobile.


Funciones de celdas con macros de Excel 4.0

Estas son las funciones que son el tema principal de este artículo.

Para familiarizarse con todas las funciones de las macros Excel 4.0 abre el siguiente enlace en inglés:

Es la referencia de todas las funciones de Macro4, en formato XLM, siendo posible usarlas sin saber programar macros.

Las macros de Excel 4.0 incluyen 66 funciones de celda. Por ejemplo, para obtener el ancho de una celda se llama a esta función en versiones de Excel en español:

=INDICAR.CELDA(núm_tipo;referencia)

Se llama así en versiones de Excel en inglés: 

=GET.CELL(type_num, reference)

Devuelve información sobre el formato, la ubicación o el contenido de una celda referenciada.

Por ejemplo, para obtener el ancho de una celda se deben seguir estos pasos:

1) Seleccionar la celda A1.

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

3) Crear un nuevo nombre definido: miAncho

4) Escribir la fórmula de miAncho: =INDICAR.CELDA(16;!A1)

5) Escribir en cualquier celda la fórmula: =miAncho

El primer argumento con el número 16 indica que la función devolverá el ancho de la celda con referencia relativa, que será la celda donde se escriba la fórmula del punto 5), como se puede observar en esta imagen animada:

NOTA: El tipo 16 es la única función que devuelve una matriz horizontal de dos elementos que contiene el ancho de la celda activa y un valor lógico que indica si el ancho de la celda está configurado para cambiar a medida que cambia el ancho estándar (VERDADERO) o es un ancho personalizado (FALSO).

Con el signo de admiración ! se obtiene información de las celdas de cualquier hoja.

TRUCO: Para que únicamente devuelva el ancho, sin el valor booleano, seleccionar la celda A1 y crear un nuevo nombre definido con el Administrador de nombres:

AnchoColumna: =INDICE(INDICAR.CELDA(16;!A1);1;1)+HOY()*0

Escribir en cualquier celda la fórmula: =AnchoColumna

Con la función INDICE se obtiene el primer valor de la matriz que devuelve la función Macro4 número 16.

Con +HOY()*0 la fórmula se comporta como volátil, por lo que se actualizará al presionar la tecla <F9>, aunque no cambie el valor de ninguna celda. Si la fórmula es no volátil, al modificar el ancho de una columna no se actualizará el valor del ancho de la celda.

PROS:

  • Las primeras macros de Excel se lanzaron en 1992, un año antes que VBA.
  • Las funciones de celdas son compatibles con todas las versiones desde MS Excel 4.0
  • No se requiere saber programar para usar las funciones de Macro4, solamente saber llamar a las funciones con los argumentos correctos, siendo el primer argumento el número de tipo de función

CONTRAS:

  • Se edita la función en la fórmula de un nombre definido dentro del Administrador de nombres.
  • Este método utiliza las funciones heredadas de Macro4 y es posible que Microsoft ya no las admita algún día, aunque de momento funcionan en las versiones más recientes de Excel.
  • Hay que saber el número de tipo de información a obtener que, en el caso de las propiedades de las celdas, son 66 tipos distintos.
  • No funciona en archivos con formato .xlsx, pues se debe guardar el libro de trabajo en el formato habilitado para macros .xlsm o .xls
  • No es compatible con Excel para la Web y Excel Mobile.
  • Por seguridad descarga archivos con Macro4 solamente de fuentes confiables, pues los antivirus actuales no detectan riesgos en estas macros heredadas.


Tipos de funciones de celda Macro4

He subido a la nube de MS OneDrive los 66 tipos de funciones de celda, tanto en español como en inglés:

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


PLUS: Por lo que he diseñado un libro habilitado para macros de Excel 4.0 para que sea fácil obtener las propiedades de las celdas usando sus 66 tipos de funciones de celda. Este es su aspecto:

Pasos a seguir:

1) Seleccionar el idioma en la celda B2, pues las funciones están traducidas al español y al inglés.

2) Seleccionar una celda cualquiera de la hoja, que se convertirá en la celda activa.

3) Seleccionar uno de los 66 tipos de información con la segmentación de datos.

4) Devuelve la información de la celda activa en la celda F4.

5) Indica el tipo de información en la celda D4.

6) Informa de la función Macro4 usada en las celdas F2:G2


Vídeo con las funciones de celda Macro4

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


Descarga las funciones de celda Macro4

Descarga las funciones de celda 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


Cómo está hecho el probador de funciones de celda

El libro que has descargado permite probar las funciones de celda de las Macros de Excel 4.0

Las fórmulas para obtener información de la celda activa están programadas en nombres definidos con el Administrador de nombres.

La fórmula de la celda F4 es: =miValorCelda, que es un nombre definido por la función Macro4: =INDICAR.CELDA(miFunción;miCelda)

Se define el nombre miFunción: =--IZQUIERDA(miTipoFunción;ENCONTRAR("-";miTipoFunción)-2)

Siendo el valor de miTipoFunción: =FUN!$C$2, que se obtiene al seleccionar un tipo de función con la segmentación de datos de la tabla dinámica de la hoja 'FUN'.

Se obtiene la celda activa definiendo el nombre miCelda: =INDIRECTO(CELDA("address")&SI(HOY();""))


Documentación sobre Macros de Excel 4.0

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

Documentación en español:

Trabajar con las macros de Excel 4.0 - Soporte técnico de Microsoft

Todo Sobre Excel: Excel e historia (I): Excel Macro Language (XLM) - Macros 4.0 (abrahamexcel.blogspot.com)

INDICAR.CELDA: Identificar celdas con color de fondo. | EXCEL FORO: Un blog de Excel

Macro Excel 4.0- EVALUAR. Elegir entre fórmulas | EXCEL FORO: Un blog de Excel

Contar celdas por color en Excel • Excel Total

Valor de una celda según el color que adopte otra | El foro Excel de TodoExcel.com

Como saber cuál es el alto de una fila en Excel | El foro Excel de TodoExcel.com

P.D.: Estas dos últimas consultas del foro TodoExcel.com han sido mi inspiración para escribir este artículo.


Documentación en inglés:

Using Excel 4 Macro Functions - Excel Off The Grid

6 Ways to Count Colored Cells in Microsoft Excel [Illustrated Guide] | How To Excel

Info only - get.cell arguments | MrExcel Message Board

get.cell (xlladdins.github.io)

Excel4Macros (xlladdins.github.io)

Excel 4.0 (XLM) macros now restricted by default for customer protection - Microsoft Community Hub

Old school: evil Excel 4.0 macros (XLM) | Outflank

XLM + AMSI: New runtime defense against Excel 4.0 macro malware | Microsoft Security Blog 

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

Mi lista de blogs