Mapa de Colombia en Excel VBA | Colores

¡Hola mi gente linda de Colombia! ¡Un saludo desde Perú! Hoy veremos un tema llamado Mapa de Colombia en Excel VBA

En el pasado he creado publicaciones como esta: https://tutorialesexcel.com/blog/mapa-del-peru-en-excel/

En la cual les compartía una aplicación para poder utilizar una macro que trabajaba con el mapa del Perú

Vale, he decidido hacer algo similar pero con el mapa de mi Colombia lindo

El funcionamiento, lo puedes visualizar en el siguiente video

Esta publicación es más para explicar de una manera más técnica nuestro aplicativo

Lo primero que debes hacer mi querido lector, es descargar el archivo con el que vamos a trabajar

Explicando el funcionamiento del aplicativo Mapa Colombia desde Excel VBA

El código que he creado es muy sencillito, lo más difícil ha sido graficar todas las regiones del mapa, lo cual lo hice utilizando información geográfica

Mapa colombia desde Excel VBA, uso de macros

Cada forma tiene un nombre separado por _LR_ (Luis Rojas) para que el contenido no sea promocionado en otras webs

Después de graficado el mapa, extraje el listado de nombres en la columna I

Mapa Colombia con macros, colores

La lógica de funcionamiento será colorear las celdas de la columna J, y luego ejecutar una macro que asigne el color de la celda a la forma

Código VBA para colorear mapa de colombia

El código sólo trabaja con los nombres de las formas, los cuales se encontrarán en la columna I

Sub AsignarColor()
    Dim i As Integer, n As Integer, nombre$
    With wPrincipal

        'Recorrer los nombres
            n = .Range("I" & Rows.Count).End(xlUp).Row
            For i = 2 To n
                nombre = .Range("I" & i)
                nombre = Replace(Replace(nombre, " | ", "_LR_"), " ", "_")

                .Shapes(nombre).Fill.ForeColor.RGB = .Range("J" & i).Interior.color
                .Shapes(nombre).Line.ForeColor.RGB = RGB(80, 80, 80)
                
            Next
        'Recorrer los nombres
    End With
End Sub

Y si en caso el usuario necesita resetear los colores, programé la siguiente instrucción

Sub Resetear()
    Dim i As Integer, n As Integer, nombre$
    With wPrincipal

        'Recorrer los nombres
            n = .Range("I" & Rows.Count).End(xlUp).Row
            For i = 2 To n
                nombre = .Range("I" & i)
                nombre = Replace(Replace(nombre, " | ", "_LR_"), " ", "_")

                .Shapes(nombre).Fill.ForeColor.RGB = RGB(68, 114, 196)
                .Shapes(nombre).Line.ForeColor.RGB = RGB(47, 85, 151)
                
            Next
        'Recorrer los nombres
    End With
End Sub

Al ejecutar el primer código podemos obtener un bonito producto como se muestra

Colores Colombia mapa

Les comento que este mapa se encuentra a escala

Si en caso se necesita que la región ARCHIPIELAGO DE SAN ANDRES PROVIDENCIA Y SANTA CATALINA se visualice mejor, podemos aumentar el tamaño manteniendo la escala

Mapa islas Colombia desde Excel

Ello ya queda a voluntad del lector

Recuerda que si deseas aprender a programar en Excel desde cero, puedes inscribirte en mi curso https://www.udemy.com/course/tutorialesexcel_curso_excel_vba

Un saludo especial a Camilo Moreno, que gracias a él he realizado esta publicación

Esta entrada tiene 4 comentarios

  1. Mario

    Buen dia amigo podrias hacer un video de como haces el mapa para activar cada departamento como boton para visualizar datos que correspondan aquel

  2. ADOLFO C.

    ¿Se podrá realizar con el mapa del Perú?

Deja una respuesta