Excel - Erstellung eines Dropdowns aus einer dynamischen Liste in VBA

Problem

Ich habe versucht, ein Makro zu erstellen, mit dem aus einer dynamischen Liste in Spalte A eine Dropdown-Liste erstellt werden kann. Bisher habe ich den folgenden Code gefunden:

 Untertest () Bereich ("A1", Bereich ("A65536"). Ende (xlUp)). Name = "MyList" -Zellen (1, 3). Auswahl mit Auswahl.Validierung. Löschen. Typ hinzufügen: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= & MyList" .IgnoreBlank = False .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput .ShowError = True End With End Sub 

Das Aufrufen von MyList funktioniert jedoch nicht.

Lösung

Versuche dies:

  • Gehen Sie zur Datenüberprüfung, wählen Sie Liste und geben Sie = MyList ein
  • Klicken Sie nun mit der rechten Maustaste auf die Registerkarte "Blätter", wählen Sie "Code anzeigen" und fügen Sie den folgenden Code ein:

 Private Sub Worksheet_Change (ByVal Target As Range) Wenn Intersect (Target, Columns ("A: A")) nicht vorhanden ist, beenden Sie Sub Dim lRow As Integer lRow = Range ("A" & Rows.Count) .End (xlUp). Zeilenbereich ("A1: A" & lRow) .Name = "MyList" End Sub 
  • Dieser Code ändert den Bereich von MyList, wenn in Spalte A eine Änderung vorgenommen wird.

Vielen Dank an TrowaD für diesen Tipp.

Vorherige Artikel Nächster Artikel

Top-Tipps