Evidențiați harta în Excel pe baza selecției drop-down în Excel

Cuprins

Iată un truc elegant pentru persoanele care folosesc hărți în Excel. În acest blog, voi explica cum să evidențiați harta în Excel pe baza unei selecții derulante.

Am luat o hartă editabilă a SUA. Ideea este de a evidenția un stat din SUA atunci când numele său este selectat dintr-o listă derulantă.

Ceva așa cum se arată în imaginea de mai jos:

Acum, înainte de a vă arăta codul, iată câteva condiții prealabile pentru acest truc.

  1. Obțineți o hartă editabilă a SUA în care puteți selecta diferite forme pe care doriți să le evidențiați
  2. Creați o listă cu toate cele 50 de stări într-o singură coloană, iar pe coloana din dreapta ei am scris Starea 1, Starea 2 și așa mai departe
  3. Denumiți fiecare formă pe hartă. De exemplu, am 50 de forme aici pentru 50 de state și am numit fiecare formă ca State 1, State 2, State 3 și așa mai departe … Pentru a face acest lucru, selectați orice formă și mergeți la Caseta de nume, care este pe în stânga barei de formulă și introduceți numele acesteia din coloana Număr de stat. De exemplu, am selectat Alabama și am numit-o State 1.
  4. Creați o listă verticală Excel cu numele tuturor statelor ($ B $ 2 în acest caz)
  5. Utilizați funcția Vlookup pentru a extrage numărul stării când este selectată o stare din meniul derulant. Iată formula pe care am folosit-o în celula $ B $ 3
    = VLOOKUP (B2, „Lista de stat”! $ B $ 3: $ C 52,2 $, FALS)
Cod pentru a evidenția harta în 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). Name If Left (ShapeName, 6) = "State" Apoi ActiveSheet.Shapes (i). Selectați With Selection.ShapeRange.Fill .Visible = msoFalse .Transparency = 1 End With End If Next i StateNumber = Range ("$ B $ 3 $" ) .Valoare ActiveSheet.Shapes (StateNumber). Selectați cu Selection.ShapeRange.Fill .Visible = msoTrue .Visible = msoTrue .ForeColor.RGB = RGB (192, 0, 0) .Transparency = 0 .Solid End With ActiveSheet.Range ( „$ B $ 2”). Selectați Închidere dacă se termină Sub

Urmați acești pași simpli în timp ce lipiți acest cod

  1. Mai întâi, faceți clic dreapta pe fila de foaie care are harta și selectați „Vizualizare cod”. Aceasta va deschide editorul VB.
  2. Lipiți codul.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave