Excel - Opret rullegardinliste på bestemte celler

Problem

Jeg ønskede at oprette en drop down liste fra data i Sheet2. Jeg har forsøgt følgende koder, men resultatet ser ud til at være forkert. I stedet for de data i Sheet2, der er angivet i rullelisten, indeholdt dropdownlisten dataene fra Sheet1 (hvilket er min destinationsark).

Jeg vil også gerne have drop-down listen på bestemte celler, hvor jeg har oplysninger om cellerne før, dvs. rullemenuen skal være i kolonne F af ark1, hvor der er oplysninger om kolonne E af ark1 og gentage indtil slutningen af listen.

Hermed er vedhæftet fil jeg arbejder på her.

Opløsning

Du opretter en valideringsliste fra EN ANDEN ARBEJDSHJÆLP, angiv et områdenavn til den valideringsliste (i ark2)

og brug det som formlen

Jeg forsøgte at ændre din makro uden at forstyrre, undtagen at ændre en eller to linjer

Jeg har givet rækkevidde navn som "rangename". du kan ændre det i makroen

Om nødvendigt juster det lidt mere.

 Sub Dropdown () Dim x Så lang, og så lang Dim objCell Som Range Dim objDataRangeStart Som Range Dim objDataRangeEnd Som Range Dim rangename As String '>> Indstil rækkevidden for gyldigt datasæt wsSourceList = Ark ("Sheet2") Indstil wsDestList = Ark ("Sheet1") Indstil objDataRangeStart = wsSourceList.Cells (1, 2) 'Start rækkevidde for dropdown liste poster Indstil objDataRangeEnd = wsSourceList.Cells (6, 2)' Slutområde for dropdown liste poster MsgBox objDataRangeStart MsgBox objDataRangeEnd '==== ====================================================================================================== ====== '>> Indstil validering på krævet celle' Indstil objCell = wsDestList.Cells (8, 4) 'Placering af dropdownlisten' MsgBox objCell x = 4 y = 6 Indstil objCell = wsDestList.Cells (x, y) 'Placering af dropdownlisten Med objCell.Validation .Delete' .Add Type: = xlValidateList, AlertStyle: = xlValidAlertStop, Operator: = xlBetween, Formula1: = "=" & objDataRangeStart.Address & ":" & objDataRangeEnd. Adresse '= ====================================== .Add Type: = xlValidateList, AlertStyle : = xlValidAlertStop, Operator: = _ xlBetween, Formula1: = "= rangename" '================================= =========================== .IgnoreBlank = True .InCellDropdown = True .ErrorTitle = "Advarsel" .ErrorMessage = " Vælg venligst en værdi fra listen i den valgte celle. " .ShowError = True End med x = x + 1 'y = y + 1 Loop til x = 51 slutdel 

Tak til venkat1926 for dette tip.

Forrige Artikel Næste Artikel

Top Tips