Markera karta i Excel baserat på rullgardinsmenyn i Excel

Innehållsförteckning

Här är ett snyggt trick för personer som använder kartor i Excel. I den här bloggen kommer jag att förklara hur man markerar karta i excel baserat på ett nedrullningsbart urval.

Jag har tagit en redigerbar karta över USA. Tanken är att markera en stat i USA när dess namn väljs från en rullgardinsmeny.

Något som visas på bilden nedan:

Nu innan jag visar dig koden, här är några förutsättningar för detta trick.

  1. Få en redigerbar karta över USA där du kan välja olika former som du vill markera
  2. Skapa en lista över alla de 50 tillstånden i en kolumn, och i kolumnen till höger skrev jag tillstånd 1, stat 2, och så vidare
  3. Namnge varje form på kartan. Till exempel har jag 50 former här för 50 stater, och jag har namngett varje form som tillstånd 1, stat 2, stat 3 och så vidare … För att göra detta, välj vilken form som helst och gå till namnrutan, som är på till vänster om formelfältet och ange dess namn från kolumnen Statligt nummer. Till exempel valde jag Alabama och gav den status 1.
  4. Skapa en Excel -rullgardinslista med namnen på alla stater ($ B $ 2 i det här fallet)
  5. Använd Vlookup -funktionen för att extrahera tillståndsnumret när ett tillstånd väljs från rullgardinsmenyn. Här är formeln som jag har använt i cell $ B $ 3
    = VLOOKUP (B2, 'State List'! $ B $ 3: $ C $ 52,2, FALSE)
Kod för att markera karta i Excel
Private Sub Worksheet_Change (ByVal Target As Range) Dim N As Integer Dim ShapeName As String N = ActiveSheet.Shapes.count If Target.Address = "$ B $ 2" Then For i = 1 To N ShapeName = ActiveSheet.Shapes (i). Namn Om Vänster (ShapeName, 6) = "State" Sedan ActiveSheet.Shapes (i) .Välj Med Selection.ShapeRange.Fill .Visible = msoFalse .Transparency = 1 End With End If Next i StateNumber = Range ("$ B $ 3" ) .Värde ActiveSheet.Shapes (StateNumber) .Välj med markering.ShapeRange.Fill .Visible = msoTrue .Visible = msoTrue .ForeColor.RGB = RGB (192, 0, 0) .Transparens = 0 .Solid End med ActiveSheet.Range ( "$ B $ 2"). Välj End If End Sub

Följ dessa enkla steg medan du klistrar in den här koden

  1. Högerklicka först på bladfliken som har kartan och välj "Visa kod". Detta öppnar VB -redigeraren.
  2. Klistra in koden.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave