Excel - Opprettelse av dropdown fra dynamisk liste i VBA

Utgave

Jeg har forsøkt å lage en makro som kan lage en rullegardinliste fra en dynamisk liste i kolonne A. Så langt har jeg kommet opp med følgende kode:

 Sub-test () Range ("A1", Range ("A65536"). End (xlUp)). Navn = "MyList" -celler (1, 3) .Velg med valg .Validasjon .Delete .Add Type: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= & MyList" .IgnoreBlank = False .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End med End Sub 

Men å ringe MyList virker ikke.

Løsning

Prøv dette:

  • Gå til datavalidering, velg liste og skriv = MyList
  • Høyreklikk på arkfanen og velg visningskode og lim inn følgende kode:

 Private Sub Worksheet_Change (ByVal Target As Range) Hvis Intersect (Target, Columns ("A: A")), Ingenting Deretter Avslutt Sub Dim lRow As Integer lRow = Range ("A" & Rows.Count) .End (xlUp). Row Range ("A1: A" & lRow) .Name = "MyList" End Sub 
  • Denne koden vil endre rekkevidden av MyList når en endring er gjort i kolonne A.

Takk til TrowaD for dette tipset.

Forrige Artikkel Neste Artikkel

Beste Tips