Excel - Opprett rullegardinliste på enkelte celler

Utgave

Jeg ønsket å lage en nedtrekksliste fra data i Sheet2. Jeg har prøvd følgende koder, men utfallet synes å være feil. I stedet for dataene i Ark2 som er oppført i rullegardinlisten, inneholder rullegardinlisten dataene fra Ark1 (som er mitt destinasjonsark).

Også, jeg vil gjerne ha rullegardinlisten på enkelte celler der jeg har informasjon om cellene før, dvs. rullegardinlisten skal være i kolonne F av ark1 der det er informasjon om kolonne E av ark1 og gjenta til slutten av listen.

Hermed er vedlagt filen jeg jobber med her.

Løsning

Du oppretter en valideringsliste fra en annen arbeidsgruppe gi et områdenavn til den valideringslisten (i ark2)

og bruk det som formelen

Jeg prøvde å endre makroen din uten å forstyrre unntatt å endre en eller to linjer

Jeg har gitt serienavnet som "rangename". Du kan endre den i makroen

Om nødvendig, juster det litt mer.

 Sub Dropdown () Dim x Så lenge, så langt Dim objCell Som Range Dim objDataRangeStart Som Range Dim objDataRangeEnd Som Range Dim rangename As String '>> Angi rekkevidden for Gyldig Datasett wsSourceList = Ark ("Sheet2") Angi wsDestList = Ark ("Sheet1") Angi objDataRangeStart = wsSourceList.Cells (1, 2) 'Startområde for rullegardinlisteoppføringer Angi objDataRangeEnd = wsSourceList.Cells (6, 2)' Avslutningsområde for rullegardinlisteoppføringer MsgBox objDataRangeStart MsgBox objDataRangeEnd '==== ========================================================================================================================================== ====== '>> Angi validering på nødvendig cell' Sett objCell = wsDestList.Cells (8, 4) 'Plassering av rullegardinlisten' MsgBox objCell x = 4 y = 6 Sett objCell = wsDestList.Cells (x, y) 'Plassering av rullegardinlisten 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" '================================= ============================================================================================================================================== Vennligst velg en verdi fra listen tilgjengelig i den valgte cellen. " .ShowError = True End med x = x + 1 'y = y + 1 Loop til x = 51 End Sub 

Takk til venkat1926 for dette tipset.

Forrige Artikkel Neste Artikkel

Beste Tips