Trucos Excel. Mapa de México por Estados
Abril 7th, 2012 | por rvaquerizo |
Hoy os presento la versión inicial del mapa de México por Estados Federales para que le podáis usar en Excel, Powerpoint, Word o alguna de las herramientas habituales de ofimática. Se trata de un archivo Excel con macros que os podéis descargar en este enlace. La hoja Mapa contiene una serie de shapes que están nombrados para poder cambiar de color en función de una variable tramo. Este Excel inicial está preparado para poder pintar hasta 5 tramos, si deseáis más tramos tenéis que meteros en el código Excel que modifica el color de cada uno de los 32 shapes que componen el mapa, posteriormente lo repasamos de forma rápida. Por otro lado tenemos la división de los estados, el nombre de los shapes y los tramos que previamente habremos preparado. Este ejemplo no pinta nada concreto. La hoja Mapa además dispone de dos botones asociados a las dos macros que contiene el Excel. Por un lado tenemos una macro que nos deja los Estados en blanco y por otro tenemos la macro que nos pinta de cada color elegido el mapa.Un vistazo sobre estos elementos de la hoja Excel:

El nombre de la columna Estado se puede modificar. Los nombres están sacados de Wikipedia, entiendo que no deberían de plantear ningún problema. Lo que no se puede modificar es la columna name que contiene el nombre asociado a la imagen de windows. Cada uno de los elementos del mapa se asocian a la variable tramo a través de la columna name. La variable tramo es la que nos realiza el mapa de colores, recordamos que sólo tenemos 5 tramos. Los botones son los que ejecutan las macros.
Las macros que lleva el Excel son:
'Esta macro pone el color de todos los estados en blanco
Sub ColorOriginalFormas()
Dim K As Integer
Dim Hoja As Worksheet
Set Hoja = Worksheets("Mapa")
For K = 1 To Hoja.Shapes.Count
Hoja.Shapes(K).Fill.ForeColor.RGB = RGB(256, 256, 256)
Next K
End Sub
Esta macro recorre todos los shapes de la hoja Mapa y los pone en blanco. La otra macro es:
'Macro para colorear cada Estado en función de una variable tramo.
'Los datos de tramo han de ser hechos.
Sub Tramos()
Dim Poblaciones() As Variant
Dim K As Long
Dim Hoja As Worksheet
Poblaciones = Worksheets("Mapa").Range("Q1").CurrentRegion.Value
Set Hoja = Worksheets("Mapa")
If Hoja.Shapes(1).Type = msoGroup Then Hoja.Shapes(1).Ungroup
For K = 2 To UBound(Poblaciones, 1)
With Hoja.Shapes(Poblaciones(K, 2)).Fill.ForeColor
If Poblaciones(K, 3) = 1 Then .RGB = RGB(0, 0, 256)
If Poblaciones(K, 3) = 2 Then .RGB = RGB(256, 256, 128)
If Poblaciones(K, 3) = 3 Then .RGB = RGB(128, 256, 256)
If Poblaciones(K, 3) = 4 Then .RGB = RGB(128, 128, 256)
If Poblaciones(K, 3) = 5 Then .RGB = RGB(256, 128, 0)
End With
Next K
End Sub
Esta macro, al igual que la anterior, son conocidas por los seguidores del blog porque ya aparecieron en una entrada anterior. Para el rango poblaciones vamos recorriendo el elemento que contiene el nombre y en función de él modificamos el color del objeto seleccionado. Lo hacemos mediante código RGB, si deseamos tener un nuevo tramo podemos añadir una nueva condición, por otro lado si deseamos eliminar un tramo sólo eliminamos la condición. Siempre tendremos en cuenta que si añadimos o eliminamos tramos tenemos que modificar la leyenda.
El mapa tiene algunas limitaciones:
- Es muy feo
- No pinta las islas, pero esta labor es sencilla
- Sólo está preparado para 5 tramos, se debe preparar para más
- No se actualiza la leyenda
- Habría que incluir el mar, países limítrofes,...
En fin, si alguien lo mejora o detecta algún error que se ponga en contacto conmigo y solventaremos los posibles problemas. Saludos.
Etiquetas: , macros de Excel, mapas, mexico

13 Respuestas en “Trucos Excel. Mapa de México por Estados”
Por Mirza, Jul 27, 2012 | Responder
Hola! Este post me sirve en demacía pero supongamos que yo lo necesito reproducir pero con el mapa de USA tendrás alguna entrada de como hacer desde el mapa?
Me ayudarías muchisimo
Gracias
Por rvaquerizo, Ago 2, 2012 | Responder
Hola, lo apunto por si puede ser de utilidad. El siguiente mapa en Excel será de USA. Tenía pensado hacerlo de Colombia.
Por Jesus González Mata, Ago 8, 2012 | Responder
Sentí la necesidad de manifestar mi agradecimiento. Es lo que necesitaba. Gracias.
Y es sobre el mapa de mi país.
Por rvaquerizo, Ago 9, 2012 | Responder
Muchas gracias, se están cocinando nuevas versiones mejoradas, muy mejoradas, de los mapas en Excel. Además del mapa de Colombia. Saludos.
Por adialdu, Sep 11, 2012 | Responder
Gracias por la ayuda, me fue de mucha utilidad
Por Alex, Oct 16, 2012 | Responder
ME Podrias decir como aumento el rango de estados, necesito más solo tiene 32 quiero aumentar ese rango
Por rvaquerizo, Oct 17, 2012 | Responder
Sólo tienes que ponerlos en la columna Q. Pero ojo, si añades más estados necesitas que tengan su correspondiente shape asociado.
Este excel lo que hace es asociar un shape a una característica. Es la versión más simple.
Por CESAR, Nov 25, 2012 | Responder
MUCHAS GRACIAS!!! EXACTAMENTE LO QUE BUSCABA!
Por Lory Lú, Ene 22, 2013 | Responder
mil y un gracias! está padrísimo el mapa. Tendrán un mapa mundi así??
Graacias graacias!
Por Carlos, Abr 5, 2013 | Responder
Buenas tardes:
El Mapa de Colombia en excel lo tendrias?. Si me lo pudieras facilitar te lo agradeceria.
Por Homero, Abr 9, 2013 | Responder
Excelente aportación, yo lo utilicé en mi trabajo haciendo algunas modificaciones en el código de visual basic, de manera que ahora ilumina solo los estados que seleccionamos, y de acuerdo al volumen de venta en cada estado, este se va iluminando de verdes-amarillos-naranjas-rojos. Dejando en negro aquellos estados que no tienen venta.
EXCELENTE APORTACIÓN.
Por Julio, May 17, 2013 | Responder
Mi estimado, yo no manejo prácticamente nada de VB y requiero algo similar a lo que mencionó Homero que hizo con tu plantilla.
Sin embargo, quiero agradecerte el excelente aporte y sobre todo por compartirlo abiertamente, en verdad felicitaciones!
Por Demian, May 20, 2013 | Responder
Muchas gracias por tu aporte… Me ayudó bastante en un proyecto… Rediseñé los parámetros y me funcionó de maravilla… MUCHAS GRACIAS…