Obsah
Zde je úhledný trik pro lidi, kteří používají mapy v Excelu. V tomto blogu vysvětlím, jak zvýraznit mapu v aplikaci Excel na základě rozevíracího výběru.
Vzal jsem upravitelnou mapu USA. Cílem je zvýraznit stát v USA, když je jeho název vybrán z rozevíracího seznamu.
Něco, jak je znázorněno na obrázku níže:
Než vám ukážu kód, zde je několik předpokladů pro tento trik.
- Získejte upravitelnou mapu USA, ve které můžete vybrat různé tvary, které chcete zvýraznit
- Vytvořte seznam všech 50 stavů v jednom sloupci a na sloupec napravo jsem napsal stav 1, stav 2 atd.
- Pojmenujte každý tvar na mapě. Například zde mám 50 tvarů pro 50 států a každý tvar jsem pojmenoval jako stav 1, stav 2, stav 3 atd. Chcete -li to provést, vyberte libovolný tvar a přejděte do pole Název, které je na vlevo od řádku vzorců a do sloupce Číslo státu zadejte jeho název. Například jsem vybral Alabamu a pojmenoval ji Stát 1.
- Vytvořte rozevírací seznam aplikace Excel se jmény všech států (v tomto případě $ B $ 2)
- Když je z rozevíracího seznamu vybrán stav, použijte funkci Vlookup k extrahování čísla stavu. Zde je vzorec, který jsem použil v buňce $ B $ 3
= VLOOKUP (B2, „Seznam států“! $ B $ 3: $ C $ 52,2, FALSE)
Kód pro zvýraznění mapy v aplikaci 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). Název 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" ) .Hodnota ActiveSheet.Shapes (StateNumber) .Vyberte pomocí Selection.ShapeRange.Fill .Visible = msoTrue .Visible = msoTrue .ForeColor.RGB = RGB (192, 0, 0) .Transparency = 0 .Solid End with ActiveSheet.Range ( „$ B $ 2“). Vyberte End If End Sub
Při vkládání tohoto kódu postupujte podle těchto jednoduchých kroků
- Nejprve klikněte pravým tlačítkem na záložku listu s mapou a vyberte „Zobrazit kód“. Tím se otevře editor VB.
- Vložte kód.