Tabla de contenido
Aquí hay un buen truco para las personas que usan mapas en Excel. En este blog, explicaré cómo resaltar el mapa en Excel basado en una selección desplegable.
He tomado un mapa editable de los EE. UU. La idea es resaltar un estado en los EE. UU. Cuando su nombre se selecciona de un menú desplegable.
Algo como se muestra en la imagen de abajo:
Ahora, antes de mostrarle el código, aquí hay algunos requisitos previos para este truco.
- Obtenga un mapa editable de los EE. UU. En el que puede seleccionar diferentes formas que desea resaltar
- Cree una lista de los 50 estados en una columna, y en la columna de la derecha escribí Estado 1, Estado 2, etc.
- Nombra cada forma en el mapa. Por ejemplo, tengo 50 formas aquí para 50 estados, y he nombrado a cada forma como Estado 1, Estado 2, Estado 3, etc. Para hacer esto, seleccione cualquier forma y vaya al Cuadro de nombre, que está en a la izquierda de la barra de fórmulas e ingrese su nombre de la columna Número de estado. Por ejemplo, seleccioné Alabama y lo llamé Estado 1.
- Cree una lista desplegable de Excel con los nombres de todos los estados ($ B $ 2 en este caso)
- Utilice la función Vlookup para extraer el número de estado cuando se selecciona un estado del menú desplegable. Aquí está la fórmula que he usado en la celda $ B $ 3
= BUSCARV (B2, 'Lista de estado'! $ B $ 3: $ C $ 52,2, FALSO)
Código para resaltar el mapa en Excel
Private Sub Worksheet_Change (ByVal Target As Range) Dim N As Integer Dim ShapeName As String N = ActiveSheet.Shapes.count Si Target.Address = "$ B $ 2" Entonces For i = 1 To N ShapeName = ActiveSheet.Shapes (i). Name If Left (ShapeName, 6) = "State" Then ActiveSheet.Shapes (i) .Select With Selection.ShapeRange.Fill .Visible = msoFalse .Transparency = 1 End With End If Next i StateNumber = Range ("$ B $ 3" ) .Valor ActiveSheet.Shapes (StateNumber) .Seleccione con Selection.ShapeRange.Fill .Visible = msoTrue .Visible = msoTrue .ForeColor.RGB = RGB (192, 0, 0) .Transparencia = 0 .Final sólido con ActiveSheet.Range ( "$ B $ 2"). Selecciona End If End Sub
Siga estos sencillos pasos mientras pega este código
- Primero, haga clic con el botón derecho en la pestaña de la hoja que tiene el mapa y seleccione "Ver código". Esto abrirá el editor de VB.
- Pega el código.