Note: The other languages of the website are Google-translated. Back to English
Belépek  \/ 
x
or
x
Regisztráció  \/ 
x

or

Hogyan hozható létre legördülő lista több jelölőnégyzettel az Excelben?

Sok Excel felhasználó hajlamos többszörös jelölőnégyzetekkel rendelkező legördülő listát létrehozni annak érdekében, hogy egyszerre több elemet jelöljön ki a listából. Valójában nem hozhat létre több jelölőnégyzetet tartalmazó listát az adatellenőrzéssel. Ebben az oktatóanyagban két módszert mutatunk be az Excel több jelölőnégyzettel rendelkező legördülő lista létrehozására.

A Lista mező segítségével hozzon létre egy több jelölőnégyzetet tartalmazó legördülő listát
V: Hozzon létre egy listát a forrásadatokkal
B: Nevezze meg azt a cellát, amelyen megtalálja a kijelölt elemeket
C: Helyezzen be egy alakzatot a kiválasztott elemek megjelenítéséhez
Könnyen létrehozhat legördülő listát jelölőnégyzetekkel egy csodálatos eszközzel
További útmutatók a legördülő listához ...


A Lista mező segítségével hozzon létre egy több jelölőnégyzetet tartalmazó legördülő listát

Amint az alábbi képernyőképen látható, az aktuális munkalapon az A2: A11 tartomány összes neve lesz a lista mező forrásadata. A C4 cellában található gombra kattintva a kiválasztott elemeket kinyomtathatja, és a listában az összes kijelölt elem megjelenik az E4 cellában. Ennek eléréséhez tegye a következőket.

A. Hozzon létre egy listát a forrásadatokkal

1. kettyenés Fejlesztő > betétlap > Lista mező (Active X Control). Lásd a képernyőképet:

2. Rajzoljon egy listát az aktuális munkalapra, kattintson rá a jobb gombbal, majd válassza ki ingatlanok a jobb egérgombbal kattintva.

3. Ban,-ben ingatlanok párbeszédpanelen az alábbiak szerint kell konfigurálnia.

  • 3.1 A ListFillRange mezőbe írja be a listában megjeleníteni kívánt forrástartományt (itt adom meg a tartományt A2: A11);
  • 3.2 A ListStyle doboz, válassza ki 1 - fmList StyleOption;
  • 3.3 A Többszörös választás doboz, válassza ki 1 - fmMultiSelectMulti;
  • 3.4 Zárja be a ingatlanok párbeszédablak. Lásd a képernyőképet:

B: Nevezze meg azt a cellát, amelyen megtalálja a kijelölt elemeket

Ha az összes kijelölt elemet ki kell adnia egy meghatározott cellába, például E4, tegye a következőket.

1. Válassza ki az E4 cellát, írja be ListBoxOutput be a név Box és nyomja meg a gombot belép kulcs.

C. Helyezzen be egy alakzatot a kiválasztott elemek megjelenítéséhez

1. kettyenés betétlap > Alakzatok > Téglalap. Lásd screenshot:

2. Rajzoljon egy téglalapot a munkalapjára (itt a téglalapot rajzolom a C4 cellába). Ezután kattintson a jobb gombbal a téglalapra, és válassza a lehetőséget Hozzárendelje a Makrót a jobb egérgombbal kattintva.

3. Ban,-ben Hozzárendelje a Makrót párbeszédpanelen kattintson a Új gombot.

4. A nyílásban Microsoft Visual Basic for Applications ablakban, kérjük, cserélje ki az eredeti kódot a Modulok ablak az alábbi VBA kóddal.

VBA kód: Hozzon létre egy listát több jelölőnégyzettel

Sub Rectangle1_Click()
'Updated by Extendoffice 20200730
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value
    
    If xStr <> "" Then
         xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
        xV = xLstBox.List(I)
        For J = 0 To UBound(xArr)
            If xArr(J) = xV Then
              xLstBox.Selected(I) = True
              Exit For
            End If
        Next
    Next I
    End If
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("ListBoxOutput") = ""
    End If
End If
End Sub

Jegyzet: A kódban Téglalap1 az alak neve; ListBox1 a lista mező neve; Válasszuk az Opciók lehetőséget Átvételi lehetőségek az alakzat megjelenített szövegei; és a ListBoxOutput a kimeneti cella tartományneve. Az igényei alapján megváltoztathatja őket.

5. nyomja meg más + Q gombok egyszerre a Microsoft Visual Basic for Applications ablak.

6. Kattintson a téglalap gombra a listamező felhajtásához vagy kibontásához. Amikor a listamező bővül, ellenőrizze a listában szereplő elemeket, majd kattintson ismét a téglalapra, hogy az összes kijelölt elem megjelenjen az E4 cellában. Lásd az alábbi bemutatót:

7. Ezután mentse a munkafüzetet mint Excel MacroEnable munkafüzet a kód jövőbeni újrafelhasználása érdekében.


Készítsen legördülő listát egy jelölőnégyzetekkel egy csodálatos eszközzel

A fenti módszer túl soklépcsős ahhoz, hogy könnyen kezelhető legyen. Itt nagyon ajánlom a Legördülő lista jelölőnégyzetekkel hasznossága Kutools for Excel segítségével könnyedén létrehozhat egy legördülő listát egy meghatározott tartományban lévő jelölőnégyzetekkel, az aktuális munkalap, az aktuális munkafüzet vagy az összes megnyitott munkafüzettel az Ön igényei szerint. Lásd az alábbi bemutatót:
Töltse le és próbálja ki most! (30 napos ingyenes nyomvonal)

A fenti bemutató mellett lépésről-lépésre útmutatót is nyújtunk, amely bemutatja, hogyan lehet ezt a funkciót alkalmazni a feladat eléréséhez. Kérjük, tegye a következőket.

1. Nyissa meg azt a munkalapot, amelyre beállította az adatok ellenőrzése legördülő listát, majd kattintson a gombra Kutools > Legördülő lista > Legördülő lista jelölőnégyzetekkel > Beállítások. Lásd screenshot:

2. Ban,-ben A legördülő listában található jelölőnégyzetek beállításai párbeszédpanelt, kérjük, konfigurálja az alábbiak szerint.

  • 2.1) A Alkalmazza szakaszban adja meg az alkalmazási kört, ahol a legördülő listában szereplő elemekhez jelölőnégyzeteket fog létrehozni. Megadhatja a bizonyos tartomány, aktuális munkalap, aktuális munkafüzet or az összes kinyitott munkafüzet az Ön igényeinek.
  • 2.2) A Mód szakaszban válasszon ki egy stílust, amelyet a kijelölt elemek kimenetéhez kíván megjeleníteni;
  • Itt tart a módosít opciót, ha ezt választja, akkor a cella értéke megváltozik a kiválasztott elemek alapján.
  • 2.3) A szétválasztó mezőbe írjon be egy elválasztót, amelyet a több elem szétválasztásához használ;
  • 2.4) A Szövegirány szakaszban válasszon ki egy szövegirányt az igényei alapján;
  • 2.5) Kattintson a gombra OK gombot.

3. Kattintson az utolsó lépésre Kutools > Legördülő lista > Legördülő lista jelölőnégyzetekkel > A jelölőnégyzetek legördülő listájának engedélyezése a funkció aktiválásához.

Mostantól, amikor egy meghatározott hatókörű legördülő listával rendelkező cellákra kattint, megjelenik egy listamező, kérjük, jelölje ki az elemeket, jelölje be a cellába kimenő jelölőnégyzeteket, az alábbi bemutató szerint (vegye példának a Módosítás módot ).

A funkcióval kapcsolatos további részletek: kérjük, látogasson el ide.

  Ha ingyenes (30 napos) próbaverziót szeretne kapni a segédprogramról, kattintson a letöltéshez, majd lépjen a művelet végrehajtására a fenti lépések szerint.


Kapcsolódó cikkek:

Automatikus kiegészítés az Excel legördülő lista beírásakor
Ha van egy adatellenőrzési legördülő listája, amelynek nagy értékei vannak, akkor csak a megfelelő megtalálásához kell görgetnie a listában, vagy közvetlenül be kell írnia az egész szót a listamezőbe. Ha van módszer az automatikus kitöltés engedélyezésére, amikor beírja az első betűt a legördülő listába, akkor minden könnyebbé válik. Ez az oktatóanyag bemutatja a probléma megoldásának módszerét.

Hozzon létre legördülő listát az Excel másik munkafüzetéből
Nagyon egyszerű létrehozni egy adatellenőrzési legördülő listát a munkafüzetek munkalapjai között. De ha az adatellenőrzéshez szükséges listaadatokat egy másik munkafüzetben találja meg, mit tenne? Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre részletesen egy legördülő listát az Excel másik munkafüzetéből.

Hozzon létre egy kereshető legördülő listát az Excelben
A sok értéket tartalmazó legördülő lista számára nem könnyű megtalálni a megfelelőt. Korábban bevezettük a legördülő lista automatikus kitöltésének módszerét, amikor az első betűt beírjuk a legördülő mezőbe. Az automatikus kiegészítés funkció mellett kereshetővé is teheti a legördülő listát a munka hatékonyságának növelése érdekében a megfelelő értékek megtalálásához a legördülő listában. A legördülő lista kereshetővé tételéhez próbálkozzon az oktatóanyag módszerével.

Automatikusan kitölti a többi cellát, amikor kiválasztja az értékeket az Excel legördülő listában
Tegyük fel, hogy létrehozott egy legördülő listát a B8: B14 cellatartomány értékei alapján. Bármelyik értéket választva a legördülő listából, azt szeretné, hogy a C8: C14 cellatartomány megfelelő értékei automatikusan feltöltődjenek egy kiválasztott cellában. A probléma megoldásához az oktatóanyagban szereplő módszerek kedveznek.

További útmutatók a legördülő listához ...


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2019 és 365. Támogatja az összes nyelvet. Könnyen telepíthető a vállalkozásba vagy szervezetbe. 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte tab 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és minden nap több száz kattintással csökkenti az egér kattintását!
officetab alja
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    crystal · 3 months ago
    @Gowtham Hi Gowtham,
    It seem that this error occurs when you running the code directly in the Code editor (the Microsoft Visual Basic for Applications window).
    After adding the code, please press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
    Go back to the worksheet and execute the code by clicking the rectangle button (see the .gif picture in step 6).
  • To post as a guest, your comment is unpublished.
    Gowtham · 4 months ago
    Hi I am newbie to VBA. I tried to execute the code but i get the following error "Run-time error '-2147024809 (80070057)': The Item with the specified name wasn't found". Can you help me with this
  • To post as a guest, your comment is unpublished.
    fbjr · 4 months ago
    Hello,
    I added this code to an existing macro template and it is loading the selections correctly, but it is NOT clearing out the x on the selected items..
    This will be used on/in a template worksheet that has submit button/macro to load the worksheet answers into a hidden worksheet with a data table.
    And am happy to say the field data loaded to the cell, transferred into my variable, and loaded to the data table as expected.

    This code was a HUGE blessing!

    I use excel 2016

    How do I fix this. I am using this version from below.

    Sub Rectangle1_Click()
    'Updated by Extendoffice 20200730
    Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
    Dim xV As String
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value

    If xStr <> "" Then
    xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
    xV = xLstBox.List(I)
    For J = 0 To UBound(xArr)
    If xArr(J) = xV Then
    xLstBox.Selected(I) = True
    Exit For
    End If
    Next
    Next I
    End If
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I) & ";" & xSelLst
    End If
    Next I
    If xSelLst <> "" Then
    Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
    Range("ListBoxOutput") = ""
    End If
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    crystal · 6 months ago
    @ben Hi ben,
    The multi-select drop down list feature of Kutools only works in the Excel that installed our Kutools. We are working on this issue, sorry for the inconvenience.
  • To post as a guest, your comment is unpublished.
    ben · 6 months ago
    Hello,

    I'm having a similar problem to Tom from 2 months ago. When I try to share my file with a colleague, the multi-select droplist list isn't working. However, I used the Kutools add-on to create this as opposed to creating it myself. I've also saved it as macro-enabled.
  • To post as a guest, your comment is unpublished.
    Tom · 8 months ago
    @crystal Now it's working perfectly.
    Many thanks for your help
  • To post as a guest, your comment is unpublished.
    crystal · 8 months ago
    @Tom Hi Tom,
    I am sorry for the mistake. The code has been updated again. Please have a try.

    Sub Rectangle1_Click()
    'Updated by Extendoffice 20200730
    Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
    Dim xV As String
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value

    If xStr <> "" Then
    xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
    xV = xLstBox.List(I)
    For J = 0 To UBound(xArr)
    If xArr(J) = xV Then
    xLstBox.Selected(I) = True
    Exit For
    End If
    Next
    Next I
    End If
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I) & ";" & xSelLst
    End If
    Next I
    If xSelLst <> "" Then
    Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
    Range("ListBoxOutput") = ""
    End If
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Tom · 9 months ago
    @crystal hello i save this file in this format from beginning ;), but without effect. still when i fill file and send to someone then when he opened file and click to "shape" then macro started from begin and cleared list

  • To post as a guest, your comment is unpublished.
    crystal · 9 months ago
    @Tom Hi Tom,
    Please save the workbook as an "Excel MacroEnable Workbook" and then send this .xlsm file to your colleague.
  • To post as a guest, your comment is unpublished.
    crystal · 9 months ago
    @Lesley Cantu Good day,
    You can browse the below page to find the solution.
    https://www.extendoffice.com/documents/excel/915-excel-insert-drop-down-list.html

  • To post as a guest, your comment is unpublished.
    Tom · 9 months ago
    Hello I looking the resolve for problem with saving choosing on drop down list
    when i choose something on list and send file to my colleague, then when he open file and want to check my list then list has cleared and cell "ListBoxOutput" was cleared too.
    help please :)
  • To post as a guest, your comment is unpublished.
    Lesley Cantu · 10 months ago
    Hi! What would I need to do if I want to place multiple drop down lists on one sheet?
  • To post as a guest, your comment is unpublished.
    crystal · 10 months ago
    @LizKats Hi LizKats,
    Please try the below code. Hope I can help. Thank you.

    Sub Rectangle2_Click()
    'Updated by Extendoffice 20200529
    Dim xSelShp As Shape, xSelLst As Variant, i As Integer
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    Dim xRg As Range
    Dim xCount, xFNum, xR, xC As Integer
    Dim xStr As String
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    Set xRg = Range("ListBoxOutput")
    xCount = xLstBox.ListCount - 1
    xStr = ""
    For i = xLstBox.ListCount - 1 To 0 Step -1
    If xLstBox.Selected(i) = True Then
    xStr = xLstBox.List(i) & ";" & xStr
    End If
    Next i

    If xRg.Value = "" Then
    xRg.Value = xStr
    Else
    Set xRg = xRg.Offset(1, 0)
    Do While xRg.Value <> ""
    Set xRg = xRg.Offset(1, 0)
    Loop
    xRg.Value = xStr
    End If
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Elston Hynd · 1 years ago
    Hi, I have used your code below to create a multiple drop down box in excel that is also able to work when the worksheet is in protected mode. However, it only works in the one ListOutputBox (cell O38). I want it to work in a range of cells (O38:O239). What do I need to change?


    Sub Rectangle3_Click()
    'Updated by Extendoffice 20191114
    Dim xSelShp As Shape, xSelLst As Variant, i As Integer
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For i = xLstBox.ListCount - 1 To 0 Step -1
    If xLstBox.Selected(i) = True Then
    xSelLst = xLstBox.List(i) & ", " & xSelLst
    End If
    Next i
    If xSelLst <> "" Then
    Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
    Range("ListBoxOutput") = ""
    End If
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Jea Perez · 1 years ago
    @alcatel Sub Rectangle2_Click()
    'Updated by Extendoffice 20190924
    Dim xSelShp As Shape, xSelLst As Variant, I As Integer
    Dim xRg As Range
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    Set xRg = Range("ListBoxOutput")
    For I = 0 To xLstBox.ListCount - 1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I)
    xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
    Set xRg = xRg.Offset(1, 0)
    End If
    Next I
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Amy · 1 years ago
    @crystal too cool! Thank you!
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Gustav Benz Good day,
    Sorry can't help you with that. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Chez Baker Hi Chez Baker,
    With the below VBA code, you can fill the multiselection in different cells on the same row. Please have a try.

    Sub Rectangle2_Click()
    'Updated by Extendoffice 20190924
    Dim xSelShp As Shape, xSelLst As Variant, I As Integer
    Dim xRg As Range
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    Set xRg = Range("ListBoxOutput")
    For I = 0 To xLstBox.ListCount - 1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I)
    xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
    Set xRg = xRg.Offset(0, 1)
    End If
    Next I
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Jorge Valdes Hi Jorge Valdes,
    With the below VBA code, you can fill the multiselection in different cells on the same row. Please have a try.

    Sub Rectangle2_Click()
    'Updated by Extendoffice 20190924
    Dim xSelShp As Shape, xSelLst As Variant, I As Integer
    Dim xRg As Range
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    Set xRg = Range("ListBoxOutput")
    For I = 0 To xLstBox.ListCount - 1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I)
    xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
    Set xRg = xRg.Offset(0, 1)
    End If
    Next I
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Chez Baker · 1 years ago
    How would you make the output names display to different cells instead of being put together in one? Thank you!
  • To post as a guest, your comment is unpublished.
    Gustav Benz · 1 years ago
    Thank you so much for this, now how do I put multiple checkbox menus with different macros (as this one only applies to adding one in the excel file)?
  • To post as a guest, your comment is unpublished.
    Jorge Valdes · 1 years ago
    hello Crystal, how Can I use this VBA code in order to fill diferents cells, this article is only to fill the multiselection in the same cell... could you help me please?
  • To post as a guest, your comment is unpublished.
    Jimmy · 2 years ago
    Como puedo replicar éste ejercicio en las filas inferiores ?
    How can I replicate this exercise in the rows below?
  • To post as a guest, your comment is unpublished.
    alcatel · 2 years ago
    HELP!!! how output in different ranges (vertically)?
  • To post as a guest, your comment is unpublished.
    alcat · 2 years ago
    Добрый день! Прошу помочь.
    Как сделать так чтобы каждое значение выходило на новой клетке? чтобы по выходило по вертикали?
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @binoy Good Day,
    The problem you mentioned can't be solve yet.
  • To post as a guest, your comment is unpublished.
    binoy · 2 years ago
    It is working fine, thanks a lot for your help. I have one issue here is that, all the output is coming in the same cell E4, how can we get the output in different cells Eg: output for C4 in E4, C5 in E5 ,C6 in E6 etc.
  • To post as a guest, your comment is unpublished.
    LizKats · 2 years ago
    Hello,

    I am wondering if there is a way to direct the pickup options to more than one cell (not just E4), or make the selections a dropdown checklist so that I can select multiple options off a checklist, but do so repeatedly and independent of the other selections I've made. For example, how would I go about using the same list of pickup options to input a different selection of items to E5, E6, E7, etc. from the same pickup list.

    Thank you
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @mark Dear mark,
    We have published an article "How to save or retain selections of ActiveX list boxes in Excel?" which introduces method of saving the selections of list boxes after close and reopen the workbook.
    You can follow this link to get more information: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @Angel Dear Angel,
    We have published an article "How to save or retain selections of ActiveX list boxes in Excel?" which introduces method of saving the selections of list boxes after close and reopen the workbook.
    You can follow this link to get more information: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
  • To post as a guest, your comment is unpublished.
    mark · 3 years ago
    @mark also, it changes the size of the list box and shape always after save and open again the file if someone has a solution for this issue please help me

    thank you so much
  • To post as a guest, your comment is unpublished.
    mark · 3 years ago
    amazing its working but i have one issue after i save the file and open it again the all check from the checkbox list is all gone
    can you help me to this one thank you so much
  • To post as a guest, your comment is unpublished.
    Angel · 3 years ago
    AMAZING its working but after i close the excel and open it again the check from the checkbox is gone so if i click the button all list will be gone any solution for this
    please someone help me
    Thank you so much in advanced
  • To post as a guest, your comment is unpublished.
    milindghadi07@gmail.com · 3 years ago
    i want automatically update names in different columns. is it possible if possible kindly share me the code.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @amit7138@yahoo.com Dear Amit Sood,
    Before protecting the worksheet, please format the Output cell as unlocked and then apply the below VBA code. Thank you for your comment.

    Sub Rectangle2_Click()
    Dim xSelShp As Shape, xSelLst As Variant, I As Integer
    On Error Resume Next
    Set xSelShp = ActiveSheet.Shapes(Application.Caller)
    Set xLstBox = ActiveSheet.ListBox1
    If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
    If xLstBox.Selected(I) = True Then
    xSelLst = xLstBox.List(I) & ";" & xSelLst
    End If
    Next I
    If xSelLst <> "" Then
    Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
    Range("ListBoxOutput") = ""
    End If
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    Dear manjusha isac,
    Please send your file to zxm@addin99.com. Hope I can help.
  • To post as a guest, your comment is unpublished.
    · 3 years ago
    @crystal Thank you for the reply sir ,but its not working in the case of my file , can u please send your mail id , so that i can mail you my file to you.
    Thanks in advance
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    Besides, you need to save the workbook as an Excel Macro-enabled Workbook, and activate the code every time you change the selections of the list box.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    Good Day,
    Please place the below VBA code into ThisWorkbook code window.
    In the code, Sheet6 is the default name of the worksheet which contains the List Box you want to retain the selections as below screenshot shown. And ListBox1 is the name of the list box. Please change them as you need.

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Call SaveSelections
    End Sub

    Private Sub Workbook_Open()
    Call RestoreSelections
    End Sub

    Private Sub SaveSelections()

    Dim arr() As Variant, i As Long, j As Long

    With Sheet6.OLEObjects("ListBox1").Object
    If .ListIndex > 0 Then
    For i = 0 To .ListCount - 1
    If .Selected(i) Then
    j = j + 1
    ReDim Preserve arr(1 To j)
    arr(j) = i
    End If
    Next
    Names.Add Name:="Selections", RefersTo:=arr, Visible:=False
    End If
    End With

    End Sub

    Private Sub RestoreSelections()

    Dim arr As Variant, i As Integer

    arr = [Selections]

    With Sheet6.OLEObjects("ListBox1").Object
    For i = 1 To UBound(arr)
    .Selected(arr(i)) = True
    Next
    End With

    End Sub
  • To post as a guest, your comment is unpublished.
    · 3 years ago
    "I have created a file using ActiveX list box as you are explained,there i have entered some data and and added some properties too.i have checked some data using the checkbox in the list ,and saved & exit from the file. But while re-opening the file it's not showing any checked data..can anybody give me a suggestion to save those updationes."
    Can anybody help me please.
  • To post as a guest, your comment is unpublished.
    amit7138@yahoo.com · 3 years ago
    Work perfectly as per the Instructions. But, How can I use this on a Protected sheet. Currently If I use this after protecting the sheet It gives me and error "Run-time error '-2147024809 (80070057)': The Specified Value is out of Range"
  • To post as a guest, your comment is unpublished.
    Amit Sood · 3 years ago
    It works perfectly as per the instructions, However if I protect the sheet it gives and error. Any workaround for this?
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @gohardrgohome Dear Randy,
    Sorry can't solve this probem.
  • To post as a guest, your comment is unpublished.
    gohardrgohome · 3 years ago
    I'm a newbie to this but can anyone tell me how to create a mult-selection ListBox that will open, e.g., when I select a name. I want the list box to fit in a single.
    EXAMPLE: I have a list of names with contact info, etc. I want to create a duplicate Listbox for each name in my list. I'd like it to open automatically when I select a name and collapse back into the cell when I go to another row of info. Please advise. Thanks in advance.
  • To post as a guest, your comment is unpublished.
    MartSkot · 3 years ago
    Thank you! It is great and it works!
  • To post as a guest, your comment is unpublished.
    VBR looser · 3 years ago
    Once the output is done and press the button again, the previous selected items in the list box cannot be changed. How to resolve?
  • To post as a guest, your comment is unpublished.
    gimmic · 3 years ago
    could you please explain how can i easily copy this listbox for 100 rows? (seperate listboxes for each of 100 rows)
  • To post as a guest, your comment is unpublished.
    gimmic · 3 years ago
    Hello
    How can copy this listbox for multi cells. Just copy and paste is not working. Could you please explain for example in each cells (E5,E6,E7,E8,...) how can i put this selection box?
  • To post as a guest, your comment is unpublished.
    harshit · 4 years ago
    can you please explain how you have added ListBoxOutput on E4 cell
  • To post as a guest, your comment is unpublished.
    Chris M · 4 years ago
    This is just what i have been looking fo, is there a modification to the code that will put the next selection from the listbox in the next line. for eg
    one
    two
    three
    Instead of :
    one, two, three