Markieren Sie die Karte in Excel basierend auf der Dropdown-Auswahl in Excel

Inhaltsverzeichnis

Hier ist ein netter Trick für Leute, die Karten in Excel verwenden. In diesem Blog werde ich erklären, wie man eine Karte in Excel basierend auf einer Dropdown-Auswahl hervorhebt.

Ich habe eine bearbeitbare Karte der USA genommen. Die Idee ist, einen US-Bundesstaat hervorzuheben, wenn sein Name aus einem Dropdown-Menü ausgewählt wird.

Etwas wie im Bild unten gezeigt:

Bevor ich Ihnen den Code zeige, hier ein paar Voraussetzungen für diesen Trick.

  1. Holen Sie sich eine bearbeitbare Karte der USA, in der Sie verschiedene Formen auswählen können, die Sie hervorheben möchten
  2. Erstellen Sie eine Liste aller 50 Zustände in einer Spalte, und in die Spalte rechts davon habe ich State 1, State 2 usw. geschrieben
  3. Benennen Sie jede Form auf der Karte. Zum Beispiel habe ich hier 50 Formen für 50 Zustände und ich habe jede Form als Zustand 1, Zustand 2, Zustand 3 usw. bezeichnet. Wählen Sie dazu eine beliebige Form aus und gehen Sie zum Namensfeld, das aktiviert ist links von der Bearbeitungsleiste, und geben Sie seinen Namen aus der Spalte State Number ein. Ich habe zum Beispiel Alabama ausgewählt und es State 1 genannt.
  4. Erstellen Sie eine Excel-Dropdown-Liste mit den Namen aller Staaten (in diesem Fall $B$2)
  5. Verwenden Sie die Vlookup-Funktion, um die Zustandsnummer zu extrahieren, wenn ein Zustand aus der Dropdown-Liste ausgewählt wird. Hier ist die Formel, die ich in Zelle $B$3 verwendet habe
    =SVERWEIS(B2,’Zustandsliste’!$B$3:$C$52,2,FALSE)
Code zum Hervorheben der Karte in 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" Then ActiveSheet.Shapes(i).Select With Selection.ShapeRange.Fill .Visible = msoFalse .Transparency = 1 End With End If Next i StateNumber = Range("$B$3" ).Value ActiveSheet.Shapes(StateNumber).Select With Selection.ShapeRange.Fill .Visible = msoTrue .Visible = msoTrue .ForeColor.RGB = RGB(192, 0, 0) .Transparency = 0 .Solid End With ActiveSheet.Range( "$B$2").Wählen Sie Ende, wenn Ende Sub

Befolgen Sie diese einfachen Schritte, während Sie diesen Code einfügen

  1. Klicken Sie zuerst mit der rechten Maustaste auf die Registerkarte des Blatts, die die Karte enthält, und wählen Sie "Code anzeigen". Dies öffnet den VB-Editor.
  2. Fügen Sie den Code ein.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave