Traducir el blog

Mostrando entradas con la etiqueta PowerQuery. Mostrar todas las entradas
Mostrando entradas con la etiqueta PowerQuery. Mostrar todas las entradas

Mapa del tiempo de municipios españoles

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


A primeros de año me hice el propósito de crear un mapa del tiempo de cualquier municipio español, lo que era un proyecto ambicioso pero que se podía conseguir dividiéndolo en varias entregas.

¡En mes y medio creo que he conseguido mi propósito!

¡Pruébalo y me dices si realmente lo he conseguido o si queda mucho por depurar!

Esta es la séptima y última entrega sobre mapas de municipios, con el mapa del tiempo de la lista de municipios españoles, en la que por defecto he incluido la lista de capitales de provincia.

Puedes descargarlo al final del artículo.

Con el botón de abajo a la izquierda se cambia el tipo de Control, mostrando:

  • Los datos del municipio.
  • El tiempo previsto para 7 días.
  • El cielo previsto para 7 días.

En este mapa del tiempo se puede cambiar el día de las predicciones meteorológicas, para hoy o para uno de los 6 días siguientes, con sólo elegir una fecha en el control.

Si haces clic en la chincheta📌del control se pasa al modo avión🛩️, con lo que el control volará por encima del mapa siguiendo al ratón.


Cielo previsto

El control del cielo previsto de la imagen de la derecha muestra el estado del cielo previsto para 7 días, del 14 al 20 de febrero, aunque se ha elegido el 18 de febrero como fecha del cielo previsto en el mapa de cada uno de los municipios de la lista.

Es muy fácil cambiar la fecha de las predicciones con solo hacer clic en cualquier parte de la fila con el día elegido.

En el Control con el cielo previsto aparecen:

  • Los 7 días de la predicción.
  • Los con el estado del cielo de cada día.
  • Los estados del cielo de cada día.

ATENCIÓN: El nombre del municipio en el control es un enlace a la página de AEMET.

Lo interesante es saber cómo se consiguen dibujar esos pictogramas con el estado del cielo, tanto en el control como en el mapa del tiempo.

Con la macro GuardarCielo del módulo MóduloCielo se crea una carpeta llamada Cielo en la ruta de la plantilla con el mapa del tiempo.

Dentro de esa carpeta se guardan los 52 pictogramas que originalmente están en la hoja 'CIELO', incluido uno para el cielo vacío...

A la macro que crea la carpeta de pictogramas solamente se la llama una vez, siempre que no se mueva a otra carpeta la plantilla con el mapa del tiempo.

Para ver estos pictogramas en el mapa se cambia el marcador de cada municipio de la lista con la macro: CambiarMunicipios, con el siguiente código:

Como UserPicture solamente puede hacer referencia a una imagen de una carpeta, esa es la razón para tener que crear la carpeta: Cielo


Tiempo previsto

En esta imagen está el control del tiempo previsto y el mapa para el día 13 de febrero, con los porcentajes de precipitaciones previstos de lluvia.

En cada punto del mapa con un municipio de la lista se puede ver el porcentaje de precipitación al lado del nombre del municipio.

Cuando se elige un tipo de predicción en el control del tiempo previsto, en el mapa aparecen los valores previstos para la fecha elegida solamente en los municipios incluidos en la lista.

En el control del tiempo previsto se pueden elegir varios tipos de predicciones:

  • Las temperaturas mínimas.
  • Las temperaturas máximas.
  • Los porcentajes de precipitación: lluvia o nieve.
  • La velocidad del viento.
  • El nivel máximo de rayos ultravioleta - UV.

Para cambiar la fecha y el tipo de predicción se hace clic en cualquier valor previsto, en una cabecera de las predicciones o en una fecha, con lo que se actualiza el mapa para la fecha elegida con el tipo de predicción elegido.

ATENCIÓN: El nombre del municipio en el control es un enlace a la página de AEMET.


Datos de predicción del tiempo

Estas predicciones se obtiene cuando se hace clic en el símbolo @ del control, con lo que se actualiza el tiempo previsto, como se ha explicado en la entrega anterior de este mapa:

La consulta de la predicción del tiempo se hace para cada uno de los municipios de la lista, consultando con Power Query en la web de la AEMET.

Los pictogramas del estado del cielo se han obtenido de esta página:

© AEMET autoriza el uso de la información y su reproducción citando a AEMET como autora de la misma.

ATENCIÓN: Widget con el tiempo en mi ciudad:

En este enlace puedes crear el tiempo de cualquier municipio para tu Web:


Más mapas de municipios

En este enlace están todas las entregas que he escrito sobre mapas de municipios españoles:

Las 7 entregas por orden de publicación y de dificultad son:

  1. Mapa de municipios españoles
  2. Clases de municipios españoles
  3. Filtros de municipios españoles
  4. Control de municipios españoles
  5. Lista de municipios españoles
  6. Predicciones de municipios españoles
  7. Mapa del tiempo de municipios españoles

En cada una de las entregas he explicado cómo he hecho cada uno de los mapas, basando el siguiente mapa en la versión anterior, por lo que hay que leerlos en ese orden para aprender las técnicas usadas en Excel, en Power Query y en VBA.


Vídeo: Mapa del tiempo

En el vídeo explico cómo usar este Mapa del tiempo de municipios españoles.


Descarga el Mapa del tiempo

Este mapa del tiempo de los municipios españoles es compatible con todas las versiones de escritorio, desde Excel 2010 hasta Excel para Microsoft 365.

Descarga la versión 1.2 desde este enlace:

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

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.

Si aparece una ventana sobre Nivel de privacidad, para el Libro actual hay que elegir: Público. Más información aquí.

ATENCIÓN: Inicialmente el mapa no incluye ninguna predicción de ningún municipio, por lo que hay que actualizar las predicciones del tiempo con el botón @.

Las hojas están protegidas sin contraseña y no está protegido el proyecto VBA, por lo que puedes estudiar y analizar el código de las macros.

AVISO: En Windows 7 no consigo conectar con los archivos XML de la AEMET, pues no se puede crear un canal seguro SSL/TLS. He probado todo lo que pone en esta página:

No he podido solucionarlo pues Windows 7 ha caducado y no hay soporte de Microsoft, por lo que no he podido probar el mapa en Excel 2010. Te agradeceré que me digas si funciona en Excel 2010 o si da problemas en otras versiones de Excel.

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


NOTA: Si lo que realmente buscas es un mapa y un gráfico de España del tiempo pasado, con datos climáticos desde el 15 de junio de 2022, está aquí:

Estoy seguro que este mapa tiene erratas y falta optimizarlo, por lo que necesito feedback de quienes lo prueben para mejorarlo algún día.

Predicciones de municipios españoles

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


Esta es la sexta entrega sobre mapas de municipios, con la que se puede ver la predicción del tiempo de la lista de municipios españoles creada en la anterior entrega, en la que por defecto he incluido la lista de capitales de provincia.

¡Esta es la sorpresa que tenía preparada para esta entrega!

¡Se puede saber el tiempo previsto de cualquier municipio español!

En el mapa de la siguiente imagen animada están las capitales de provincia y, pasando el ratón por encima de cualquiera de ellas, en el Control personalizado se muestra el tiempo previsto para hoy y para los próximos 6 días.

Haciendo clic en el botón del Control de abajo a la izquierda, con la figura de un termómetro🌡️, se cambia a 3 vistas distintas:

  • Datos del municipio, con información del municipio y los filtros de municipios.
  • Previsión del tiempo para 7 días, con la temperatura mínima y máxima, el porcentaje de lluvia, el viento y su dirección y el máximo de rayos UV.
  • Estado del cielo, con la previsión atmosférica para 7 días.

En las dos vistas con la predicción meteorológica el botón del termómetro tiene un color de fondo azul.

La predicción se obtiene únicamente para los municipios de la lista, aunque en cualquier momento es fácil añadir o quitar un municipio de la lista.

Con el segundo botón de abajo a la izquierda, con el símbolo @, se actualiza la predicción de los municipios incluidos en la lista.

Si es rojo el color de fondo del símbolo @, la predicción del tiempo está pendiente de actualizar. Eso ocurrirá todos los días la primera vez que se abra el mapa, pues el tiempo previsto actualizado es de hoy y de los próximos 6 días.

ATENCIÓN: Inicialmente el mapa no incluye ninguna predicción de ningún municipio, por lo que hay que actualizar las predicciones del tiempo.

Para actualizar el tiempo previsto hay que hacer clic en el botón del Control con el símbolo @. Se actualiza respondiendo que Sí a la pregunta: ¿Desea actualizar la predicción del tiempo?

Mientras se actualiza la predicción, en lugar del símbolo @ aparece el porcentaje de actualización.

ATENCIÓN: El nombre del municipio es un hipervínculo con el enlace a la página de predicción en la AEMET de ese municipio, en donde se obtienen los datos de predicción meteorológica, y funciona incluso si el municipio no está en la lista de municipios elegidos.


Datos de predicción del tiempo

La consulta de la predicción del tiempo se hace para cada uno de los municipios de la lista, consultando con Power Query en la web de la AEMET.

© AEMET autoriza el uso de la información y su reproducción citando a AEMET como autora de la misma.

Por ejemplo, para conocer el tiempo previsto en Zaragoza, se consulta la página de AEMET:

El hipervínculo en el control se forma con el nombre y el código del municipio.

Pero los datos de las predicciones meteorológicas de la lista de municipios se obtienen con Power Query en Excel consultando el archivo XML del municipio, que para Zaragoza es:

Hay dos modos de extraer datos de la AEMET:

1) Al añadir un municipio a la lista se consulta a la AEMET escribiendo su nombre en el campo [miPredicción] de la celda DATOS!T33, con lo que se activa el evento Worksheet_Change que llama a la macro: ObtenerPredicción

2) Al actualizar la predicción del tiempo de los municipios de la lista, se llama a la macro: RefrescarPredicciones, que para cada municipio escribe su nombre en el campo [miPredicción], que llama a la macro: ObtenerPredicción

La macro ObtenerPredicción refresca las consultas a la AEMET con este código:

Range("PREDICCIONES").ListObject.QueryTable.Refresh BackgroundQuery:=False

Con lo que se actualiza la hoja 'PREDICCIONES', en la que se cargan los datos que se han extraído y transformado con Power Query en las siguientes consultas:

1) Municipio: se extrae el nombre del municipio a consultar con el código:

= Excel.CurrentWorkbook(){[Name="miPredicción"]}[Content]{0}[Column1]

2) localidad: se extrae la ruta del archivo XML y el propio archivo con el código:

Origen = Excel.CurrentWorkbook(){[Name="miRuta"]}[Content]{0}[Column1]

Origen2 = Xml.Tables(Web.Contents(Origen), null, 1252) 

3) tablas: se expanden las tablas con la predicción para 7 días.

4) precipitación: se extrae la probabilidad de precipitación.

5) temperaturas: se extraen las temperaturas mínimas y máximas previstas.

6) cielo: se extrae el estado del cielo previsto.

7) viento: se extrae la velocidad y dirección del viento previsto.

8) uv: se extrae el máximo UV previsto.

9) PREDICCIÓN: Se combinan las anteriores consultas para el municipio consultado.

10) PREDICCIONES: Se anexa la predicción del municipio consultado con todos los municipios de la lista.

Aprende más abriendo el editor de Power Query y analizando los pasos de cada consulta. Si no entiendes algo, coméntamelo y lo intentaré explicar en detalle.

Esta última consulta es la única para la que se cargan sus datos en la hoja 'PREDICCIONES'.

Estos datos de predicciones se cargan en el Control, como ahora veremos.


Control con la previsión del tiempo

En la hoja 'CONTROL' se generan los datos del control y sus botones.

El control que aparece en la hoja 'MAPA' es una captura con la cámara de Excel del rango de celdas CONTROL!B2:G15

TRUCO: Con la cámara de Excel he capturado 2 fotos dinámicas más: F_Previsto1 y F_Previsto2, y las he colocado encima del rango de celdas anterior, mostrándolas u ocultándolas dependiendo de las pulsaciones del botón con el termómetro🌡️que está abajo a la izquierda en el control.

Los datos de previsión meteorológica del municipio seleccionado con el ratón en el mapa están aquí:

1) F_Previsto1 en el rango M2:R15 con el tiempo previsto.

2) F_Previsto2 en el rango U2:Z15 con el estado previsto del cielo.

En la columna L se calculan las filas de la hoja 'PREDICCIONES' con la previsión para el municipio seleccionado.

El resto de fórmulas de esos dos rangos puedes analizarlo para aprender cómo se han obtenido los valores del tiempo previsto.

De esta forma, si hiciera falta añadir más datos de previsión meteorológica u otros datos de un municipio, bastaría con duplicar en otro rango una imagen y capturarla con la cámara de Excel.


Vídeo: Predicciones de municipios españoles

En el vídeo explico cómo usar este mapa de Predicciones de municipios españoles.


Descarga las Predicciones de municipios españoles

Este mapa con las predicciones de municipios españoles es compatible con todas las versiones de escritorio, desde Excel 2010 hasta Excel para Microsoft 365.

Descarga la versión 1.1 desde uno de estos enlaces:

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

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.

Si aparece una ventana sobre Nivel de privacidad, para el Libro actual hay que elegir: Público. Más información aquí.

ATENCIÓN: Inicialmente el mapa no incluye ninguna predicción de ningún municipio, por lo que hay que actualizar las predicciones del tiempo con el botón @.

Las hojas están protegidas sin contraseña y no está protegido el proyecto VBA, por lo que puedes estudiar y analizar el código de las macros.

AVISO: En Windows 7 no consigo conectar con los archivos XML de la AEMET, pues no se puede crear un canal seguro SSL/TLS. He probado todo lo que pone en esta página:

No he podido solucionarlo pues Windows 7 ha caducado y no hay soporte de Microsoft, por lo que no he podido probar el mapa en Excel 2010. Te agradeceré que me digas si funciona en Excel 2010 o si da problemas en otras versiones de Excel.

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


Más mapas de municipios

En este enlace están todas las entregas dedicadas a los municipios españoles que he escrito hasta ahora:

Quiero llevar las predicciones del tiempo al mapa, ¡pues era mi idea original cuando comencé esta serie de entregas!

Cuando lo consiga publicaré la última entrega de este mapa de municipios españoles. ¡Estate atento!

Volando por el mundo

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


Volando por el mundo

Como resulta demasiado fácil volar de un país a otro del mundo,

será cuestión de visitar los países del mundo de una forma distinta.

¡Con una hoja de cálculo!

Volar por el mundo con Excel no contamina tanto como volar en avión.

Se llega a cualquier país del mundo con solo mover el ratón.

Se conocen los datos y las banderas de cada país que se sobrevuela.

Se aprenden los trucos con los que ha sido diseñado este mapa.

Comparte este mapa con todo el mundo para conocer todos los países del mundo.


Volando por el mundo puede ser muy didáctico en la enseñanza en las escuelas, cursos de geografía, y en las empresas cuyo objetivo sea tener clientes en todo el mundo, con solo adaptarlo al negocio o a la educación.


Mapa interactivo del mundo

Este mapa del mundo es el más interactivo que he hecho en Excel hasta ahora:

  • Interactúa con las formas de 240 países dibujadas en el mapa del mundo.
  • Interactúa con los países sobre los que pasa el puntero del ratón.
  • Interactúa con el nuevo Control de Usuario con información de cada país.
  • Interactúa con el modo de vuelo del puntero con el nombre, capital y bandera de un país.
  • Interactúa con el modo chincheta sin puntero.
  • Interactúa con el buscador de países con el control de cuadro combinado.
  • Interactúa con el tamaño de la información de un país.
  • Interactúa con la voz que pronuncia el nombre del país.
  • Interactúa con las etiquetas con los nombres de los países.
  • Interactúa con el reinicio y la actualización del mapa.
  • Interactúa con el zoom del mapa.
  • Interactúa con el desplazamiento horizontal o vertical del mapa.
  • Interactúa con la Wikipedia para obtener más información de los países, sus capitales, idiomas, monedas y código ISO 3166-1 de cada país.
  • Interactúa con este artículo del blog pulsando en el símbolo de información que está arriba a la derecha del Control de Usuario.

¡No encontrarás ninguno igual!


El nuevo Control de Usuario permite controlar todos los países del mapa del mundo.


Lista de Controles de Usuario (identificados con números dentro de círculos):

(1) Nombre del país 🗺️, con enlace a datos del país en la Wikipedia.

(2) Enlace a este artículo del blog con esta información.

(3) Nombre oficial del país.

(4) Capital del país con enlace a la Wikipedia.

(5) Población actualizada y superficie del país.

(6) Idiomas oficiales con enlace a la Wikipedia para el primer idioma.

(7) Monedas del país con enlace a la Wikipedia.

(8) Código ISO 3166-1 con las 3 letras que identifican al país o texto alternativo.

(9) Tecla de voz 🗣️, para pronunciar el nombre del país cuando está en rojo.

(10) Tecla de aumento o disminución del tamaño del Control de Usuario.

(11) Tecla para mostrar el Control de Usuario a la derecha ▶️ o a la izquierda ◀️ del mapa.

(12) Tecla de modo Avión 🛩️, con un puntero y el nombre del país que se sobrevuela.

(13) Tecla de modo Casa 🏡, con un puntero sin información.

(14) Tecla de modo Mundo 🌍, con un puntero con el nombre, la capital y la bandera del país que se sobrevuela.

(15) Tecla de modo Chincheta 📌, sin puntero aunque con un cuadro de búsqueda de países.

(16) Buscador de países en una lista desplegable de un cuadro combinado. Escribir caracteres comodín: asterisco * (para cualquier carácter) o interrogante ? (para un carácter). Si es pequeña la superficie del país se remarca con un cuadrado.

(17) Lista desplegable de países para seleccionar con el ratón o con las teclas de flechas o de avance y retroceso de página.

(18) Teclas de control del zoom del mapa:

ZM: Zoom Máximo del 400%

Zm: Zoom mínimo del 75%

Z0: Zoom al 100%

Z+: Zoom + 50

Z-: Zoom - 50

(19) Teclas con 4 flechas de desplazamiento del mapa: arriba⬆️, abajo⬇️, derecha➡️ e izquierda⬅️

(20) Tecla de etiqueta 💬 para mostrar el nombre del país en el mapa si está en rojo.

(21) Tecla 🔁 de reinicio del mapa y de actualización de la población de cada país.

(22) Seleccionar cualquier país del mapa haciendo clic sobre una de las 240 formas de países.


Descarga Volando por el mundo

Este mapa del mundo es compatible con todas las versiones de escritorio, desde Excel 2010 hasta Excel para Microsoft 365.

Descarga la versión 1.0 desde uno de estos enlaces:

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

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 protegidas sin contraseña y no está protegido el proyecto VBA, por lo que puedes estudiar y analizar el código de las macros.

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

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


Vídeo para volar por el mundo

Con este vídeo aprenderás a volar por el mundo sin salir de Excel y visitarás cualquier país, obteniendo información de su población actual y de más datos del país mediante enlaces a la Wikipedia.


Todos mis mapas del mundo

Esta es la última entrega de los 5 artículos sobre mapas del mundo que he estado publicando desde hace dos meses.

En los cuatro artículos anteriores he explicado cómo he ido desarrollando este proyecto, por si te interesa estudiar cómo lo he hecho:

Hasta ahora he publicado 28 mapas distintos en este blog:

siendo el que más éxito ha tenido de momento este mapa:

Si me das ideas para construir nuevos mapas, puede ser que los veas publicados el año que viene.

¡Si antes no nos cargamos el único mundo en que podemos seguir viviendo!

Puntero al mapa de África

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


Cuando diseñé el Juego de mapas en Excel del artículo anterior, me quedé con las ganas de pasar el ratón por encima del mapa e ir viendo qué país estaba debajo del cursor, sin necesidad de hacer clic en el mapa con el botón izquierdo del ratón.

En esta imagen animada puedes comprobar que ya lo he conseguido, gracias a la ayuda recibida en este foro de Excel al que recomiendo que te registres (no cobro comisión):



Cuando descargues este mapa podrás estudiar los países de África pasando el "puntero" del ratón por encima del mapa.

🕸️ Aprenderás datos de los países africanos obtenidos con Power Query.

🐭 Dale con el ratón a la celda D4 y cambiarás el modo de visualización de los datos en el mapa:

🌍 En modo "globo" los datos siguen al "puntero".

🛩️ En modo "avión" el nombre del país sigue al "puntero".

🏚 En modo "casa" los datos no siguen al "puntero".

📌 En modo "chincheta" los datos están fijos y no se usa el "puntero".

🗣️ Dale a la cabeza parlante en la celda D5 para escuchar el nombre de los países.

♻️ Si algo no funciona reinicia el mapa dando a la celda E19, con lo que también se actualizarán los datos de África con Power Query y se maximizará el mapa mediante un zoom automático.


Puntero al mapa

He creado un "puntero" virtual que sigue al puntero del ratón en todos los movimientos sobre la hoja de cálculo 'Mapa'.

El "puntero" es un círculo pequeño creado desde la cinta de opciones: Insertar > Formas > Formas básicas > Elipse, a la que se le ha dado la misma altura que anchura de 0,2 cm para crear el círculo. A esta forma del "puntero" la denomino: F_Puntero 

Al "puntero" virtual le sigue, como un perrito faldero, una "imagen  dinámica" de un rango de celdas capturada con la cámara de Excel (información aquí), con lo que se consigue mostrar dinámicamente el contenido del rango de celdas en un "Objeto Volante Identificado - OVI", por lo que no se puede clasificar como OVNI. A esta "imagen dinámica" la denomino: F_País =$C$2:$C$5

En el rango C2:C5 debe estar el texto y la bandera.

Con el "texto dinámico" se muestra el nombre del país y opcionalmente su población actual, con un estilo de WordArt para que el texto destaque en el mapa. A este "texto dinámico" lo denomino: F_Texto

La "bandera" es una imagen dinámica capturada con la cámara de Excel. A esta "bandera" la denomino: F_Bandera =miBandera, que muestra la bandera de un país a partir de la columna I de la hoja 'Fronteras'.



ATENCIÓN: La imagen de arriba es de una versión anterior en la que esas dos formas estaban en la hoja 'Mapa'. En la nueva versión se han movido a la hoja 'Fronteras' el "texto dinámico" (F_Texto) y la "bandera dinámica" (F_Bandera), con el texto sin solapar con la bandera.

IMPORTANTE: El orden de las formas es muy importante para conseguir el efecto de capas de dibujo en el mapa, y que las formas (shapes) sean activadas adecuadamente.

El "puntero" (F_Puntero) debe estar al frente del resto de formas y así pasará por encima de las demás capas del mapa.

La "etiqueta" (F_Etiqueta_Mapa) es la segunda capa, situada en la esquina superior izquierda de la hoja, con lo que se obtienen las coordenadas X e Y en el mapa, escuchando el evento: F_Etiqueta_Mapa_MouseMove

La "imagen dinámica" (F_País) es la tercera capa.

Después de la imagen F_Copyright está ordenada cada "forma de país", intentado que los países pequeños estén por encima de los grandes, y así poder seleccionarlos con seguridad.


Países debajo del Puntero

Para identificar cada país he tenido que renombrar cada "forma de país", por ejemplo Zimbabue, detectando las fronteras de cada país. Es un paso importante que hay que hacer al menos una vez. Es tedioso pero es determinante para conseguir el objetivo del mapa, que es identificar el país que está debajo del "puntero" del ratón.

El cálculo de la distancia a la forma (shape) de un país al "puntero virtual" se hace con la fórmula de la columna "Distancia" de la tabla en la hoja 'Fronteras', solamente si el puntero está dentro de la forma rectangular.

En la imagen solamente aparece la Distancia del "puntero virtual" a Argelia porque es el país que más cerca está en el momento de la captura de la imagen de la hoja.

NOTA: Si hay varios países cerca, se calcula el valor mínimo de la Distancia.

Para detectar las fronteras de un país, el método del "puntero virtual" no es tan preciso como el puntero del ratón sobre una forma (shape), ya que Excel nativamente es capaz de detectar el contorno de la forma del país.

Con el cálculo de la Distancia empeora la precisión, pues es una forma rectangular en la que caben los contornos de otros países, y hasta sus aguas jurisdiccionales, por lo que al pasar el "puntero virtual" por los mares y océanos se puede llegar a detectar qué país es el más cercano...

Para obtener correctamente las coordenadas he incluido un Zoom automático, con el que se ve todo el continente de África. La macro: ZoomRangoMapa se ejecuta si el mapa es demasiado grande y se mueve el puntero por el mapa, o cuando el mapa es muy pequeño y se reinicia el mapa haciendo clic en la celda E19, con lo que se maximiza al tamaño de la hoja 'Mapa'.


Truco para alinear los punteros virtual y real

Cuando me propuse pasar el ratón por encima del mapa, el puntero del ratón se desviaba hacia la izquierda del "puntero virtual", aunque éste se veía centrado horizontalmente con el puntero del ratón. 🙀

Investigué en Google y no encontré nada. 😿

¡Hasta que se me ocurrió la solución! 😻

La desviación se producía porque en la etiqueta que permite escuchar eventos de movimiento del ratón, y que está por encima del mapa, llamada: F_Etiqueta_Mapa, la propiedad MousePointer valía: 0-fmMousePointerDefault

La lista de punteros de ratón está explicada aquí: VBA - MousePointer (propiedad)

El puntero del ratón por defecto es una flecha apuntando hacia arriba a la izquierda pero, cuando se pasa por encima del "puntero virtual" que tiene asignada la macro: ColorearPaís, el puntero es una mano con el dedo índice hacia arriba, como si fuera a hacer clic sobre el "puntero virtual".

Observa en la imagen de arriba ¡que la punta de la flecha y la punta del dedo índice no coinciden horizontalmente!

¡Son unos pocos pixeles pero suficientes para tocar la moral del apuntador! 😾

Aquí está el TRUCO: La solución era usar siempre el mismo puntero del ratón: ¡la mano! 👆

O sea, en F_Etiqueta_Mapa la propiedad MousePointer con valor: 3 - fmMousePointerIBeam

¡Y asunto resuelto! 👏👏👏

Ese valor del MousePointer es la misma mano que se usa para mostrar dónde está el cursor cuando se hace clic con el ratón en un objeto con macro asignada, por lo que ahora ya coinciden las coordenadas de la mano que se mueve por la etiqueta.

Y ahora, cuando saco a pasear al ratón,

¡me sigue como un perrito faldero! 🐕


Consultar datos de África con Power Query

En la hoja 'Datos' se cargan los datos de África, una vez transformados con Power Query.

Los datos de la capital del país; moneda; idioma; forma de gobierno, superficie, población y PIB per cápita se extraen con la consulta a dos páginas Web, la primera para obtener la población actual en tiempo real, y la segunda para obtener el resto de datos:

Poblacion de África 2023 (countrymeters.info)

Anexo:Países de África - Wikipedia, la enciclopedia libre

El problema principal con el que me he topado ha sido que los nombres de los países no son iguales en esas páginas, siendo peor en Wikipedia, pues detrás de los nombres hay caracteres ocultos, por lo que no se pueden combinar las dos consultas a no ser que los nombres sean iguales.

En la columna A de esta imagen Egipto tiene un LARGO de 8 con los caracteres ocultos, cuando su LARGO es 6.

Los caracteres sobrantes son: Unicode 8203 (hexadecimal: 200B) 

Es un espacio de ancho cero que mete la Wikipedia, ¿con qué motivo?

Este carácter Unicode detrás de los nombres de los países impedía combinar las dos consultas, una a la Wikipedia y otra a CountryMeters, pues no coinciden los nombres de los países con los espacios ocultos de ancho cero.

Este es el código para quitar ese carácter Unicode en el último PASO APLICADO a la consulta en Power Query: Datos África

Esto demuestra que los caracteres sin importancia son los que más guerra dan, pues son difíciles de limpiar. La limpieza proporcionada por defecto por Power Query no elimina ciertos caracteres Unicode.

En versiones antiguas de Excel el mapa funciona aunque no actualiza los datos si no está instalado el complemento de Power Query, que se puede descargar aquí:

Download Power Query from Official Microsoft Download Center


Videotutorial del mapa de África

Este videotutorial lo hice con una versión anterior, que aún no cargaba datos de los países con Power Query, pero creo que seguirá sirviendo para explicar su funcionamiento.

Selecciona los subtítulos en tu idioma para entender el vídeo.


Descarga el mapa de África

Este mapa ha sido probado en versiones de Excel 2010, 2016, 2021 y Excel para Microsoft 365. Si me das feedback con los bugs que encuentres, y que seguro que se me han escapado, igual mejora el mapa.

Descarga la versión 9.6 desde uno de estos enlaces:

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

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.

Si aparece una ventana para elegir el tipo de acceso, selecciona el modo Anónimo.

Las hojas están protegidas sin contraseña y no está protegido el proyecto VBA, por lo que puedes estudiar y analizar el código de las macros.

AVISO: Si se desprotege la hoja 'Mapa' ¡no se debe volver a proteger manualmente!, ya que este mapa se ha diseñado pensando en protegerlo totalmente del usuario, sin estar protegido de las macros, con esta instrucción:

Sheets("Mapa").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True

Este último parámetro, que protege la hoja únicamente del usuario, es imposible de poner si se protegen las hojas manualmente.

Se ha protegido el mapa así para que las imágenes (shapes) de los países no puedan ser modificadas ni movidas por el usuario final y tampoco puedan ser cambiadas las formas del "puntero virtual" ni las formas que comienzan por F_ (abreviatura de Formas).

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

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


Zoom al mapa de África

A partir de la versión 9.5 he introducido una interesante mejora para ver el detalle del mapa haciendo Zoom.

Con el zoom puedo aumentar el detalle del mapa y seguir pasando el "puntero" por encima de los países, sin necesidad de maximizar el mapa, y permitiendo el desplazamiento (scroll) horizontal y vertical del mapa.

Para hacer zoom en Excel con el ratón usa la rueda del ratón. Presiona la tecla Control mientras giras la rueda hacia adelante o hacia atrás para ampliar o disminuir el zoom respectivamente.


Pronto publicaré un mapa completo del mundo con todas las funciones y características que voy publicando estas últimas semanas aquí:

Mapa antiguo de continentes

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


Este es el tercer artículo sobre mapas mundiales explicando cómo hacer:


Mapa antiguo de continentes

En el tercer artículo voy a explicar cómo hacer un mapa con datos de población por continentes, con versiones a partir de Excel 2010. Por eso lo he denominado Mapa antiguo, por ser compatible con las versiones más antiguas de Excel, aunque vale para todas las versiones de Excel usadas hoy en día.

En las versiones desde Excel 2010 hasta Excel 2021 no se pueden obtener datos de ubicación geográfica, como hice en el primer artículo.

Por eso en el segundo artículo extraje los datos de población de una página web mediante Power Query.

En las versiones desde Excel 2010 hasta Excel 2016 no se puede crear un gráfico de mapa coroplético, como hice en los dos primeros artículos.

Por eso en este tercer artículo me he propuesto conseguir dibujar un mapa coroplético, prescindiendo de los gráficos de mapa de Excel.

En esta imagen verás el resultado del nuevo mapa:



Mapa vectorial de continentes

Este mapa vectorial mantiene las mismas características que el mapa que publiqué en el segundo artículo sobre mapas, excepto que he quitado la segmentación de datos de continentes, por lo que siempre aparece el mapa mundial.

Para diseñar este mapa he seguido estos pasos:

PASO 1) Descargar un mapa vectorial en formato SVG (Gráfico Vectorial Escalable) desde aquí:
    Archivo:BlankMap-World.svg - Wikipedia, la enciclopedia libre

    Este mapa vectorial está compuesto de muchos vectores que representan los bordes de los países y sus regiones fronterizas.

    PASO 2) Seleccionar en la cinta de opciones: Insertar > Imágenes > Este dispositivo

    PASO 3) Seleccionar el archivo descargado: BlankMap-World.svg

    PASO 4) Convertir el gráfico SVG en formas de Office con Excel para Microsoft 365, cosa que no se puede hacer en ninguna otra versión anterior de Excel. Para ello seleccionar el mapa vectorial y seleccionar en la cinta de opciones: Formato de gráficos > Convertir en forma

    PASO 5) Editar las imágenes SVG convertidas en formas de Excel, como se explica aquí:

    Editar imágenes SVG en Microsoft 365 - Soporte técnico de Microsoft

    PASO 6) Limpiar el mapa, eliminando algunas regiones que no hacen falta para crear los continentes.

    PASO 7) Agrupar los países por sus continentes, eliminando la Antártida despoblada. Este es el paso más complicado pues hay que seleccionar visualmente los países uno a uno al agruparlos.

    PASO 8) Crear una hoja de 'Continentes' con 6 copias de la imagen de cada continente, sin solapar, con 6 colores azules diferentes, como se puede ver en esta imagen:

    PASO 9) Editar 6 nombres definidos con el Administrador de nombres, con una fórmula para cada uno de los 6 continentes, con la función ELEGIR y cada uno de los rangos de las 6 imágenes de cada continente:

    PASO 10) Insertar 6 herramientas de Cámara de Excel en la hoja 'Mapa', leyendo el apartado "Mostrar dinámicamente el contenido del rango de celdas en una imagen" en este artículo:

    Mostrar dinámicamente el contenido de una celda o rango en un objeto gráfico - Excel (microsoft.com)

    En la barra de fórmulas está el nombre definido para África, por ejemplo: =Mapa_África

    Con lo que, cuando cambie el valor de la celda Mapa!D23, se mostrará dinámicamente el rango de una de las 6 imágenes del mapa de África, tomadas con la cámara de la hoja 'Continentes'.

    PASO 11) Insertar un control de Casilla (control ActiveX) para mostrar u ocultar las Etiquetas, con el nombre de cada continente y su valor de población seleccionado, vinculado a la celda Datos!E10.

    PASO 12) Insertar una tabla de etiquetas en la hoja 'Datos', con esta fórmula en la celda E2:

    =SI($E$10;Mapa!B23&CARACTER(10)&TEXTO(Mapa!C23;"#.##0");"")

    Con lo que, dependiendo si la celda E10 es un valor VERDADERO o FALSO, se mostrarán u ocultarán respectivamente las etiquetas en esta tabla de la derecha.      


    PASO 13) Insertar 6 gráficos ocultos, en los que únicamente se muestra el título del gráfico.

    Por ejemplo para África la fórmula del Título_África apunta a: =Datos!$E$2

    Con estos pasos he conseguido crear un mapa coroplético de continentes, que podría funcionar en cualquier versión desde Excel 2010 en adelante, y que puedes descargar para probar si es cierta mi afirmación.


    Descarga del mapa de continentes

    Este archivo es compatible con versiones desde Excel 2010 en adelante.

    Tiene la hoja protegida sin contraseña, para que los usuarios no destrocen las fórmulas, y no contiene macros.

    Descarga la versión 1.0 desde uno de estos enlaces:

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

    Cuando se muestre la ADVERTENCIA DE SEGURIDAD Se han deshabilitado las conexiones de datos externos, presiona el botón: Habilitar contenido

    AVISO: Puede ser que en Excel 2010 y 2013 tengas que instalar el complemento de Power Query, siguiendo estas explicaciones:

    Download Power Query from Official Microsoft Download Center

    En las versiones de Excel 2016 en adelante ya está integrada la herramienta Power Query, conocida como Obtener & transformar en Excel.

    Con la ayuda de Power Query se puede actualizar este mapa con datos de población en tiempo real, mediante cualquiera de estos dos métodos:

    • Seleccionar en la cinta de opciones: Datos > Actualizar todo
    • Presionar simultáneamente las teclas: Control + Alt + F5


    Vídeo: Mapa antiguo de continentes

    En este vídeo explico cómo hacer un mapa antiguo de continentes para versiones desde Excel 2010 en adelante, con datos obtenidos con Power Query en un mapa coroplético.

    Selecciona los subtítulos en tu idioma para entender el vídeo.


    DESCARGA EXTRA ¡SORPRESA! ¡SORPRESA!

    Si has leído hasta aquí te mereces descargar la versión 2.0 del mapa antiguo de continentes con:

    • Miles de formas de la hoja 'Continentes' convertidas en 6x6=36 imágenes de continentes.
    • Las 6 capturas de cada continente, con la cámara de Excel, son mucho menos pesadas con imágenes que con formas, por lo que la hoja 'Mapa' se refresca ágilmente.
    • Los dos efectos anteriores tienen como consecuencia que el tamaño del archivo se ha reducido x4, pasando de 10,2 MB en la primera versión a 2,5 MB en la segunda versión.

    Descarga la nueva versión 2.0 del mapa antiguo desde uno de estos enlaces:

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

    Cuando se muestre la ADVERTENCIA DE SEGURIDAD Se han deshabilitado las conexiones de datos externos, presiona el botón: Habilitar contenido

    Posdata: Igual me animo a crear un "Juego de mapas" para encontrar los países del mundo dentro de Excel.

    Mi lista de blogs