Note: The other languages of the website are Google-translated. Back to English

Hogyan hozhatunk létre legördülő listát több választással vagy értékkel az Excelben?

Alapértelmezés szerint csak egy elemet választhat ki az Excel adatellenőrzési legördülő listájából. Hogyan lehet többször kiválasztani a legördülő listából, ahogy az alábbi gif-ben látható? A cikkben ismertetett módszerek segíthetnek a probléma megoldásában.


Hozzon létre legördülő listát több választással VBA kóddal

Ez a szakasz két VBA-kódot tartalmaz, amelyek segítségével több kijelölést végezhet a munkalap legördülő listáiban. A két VBA kód a következőket tudja elérni:

VBA-kód 1: Több kijelölés engedélyezése egy legördülő listában, ismétlődések nélkül
VBA-kód 2: Több kijelölés engedélyezése a legördülő listában ismétlődések nélkül (törölje a meglévő elemeket az újbóli kijelöléssel)

Alkalmazhatja az alábbi VBA-kódok egyikét, ha több kijelölést szeretne végrehajtani egy munkalap legördülő listájában az Excelben. Kérjük, tegye a következőket.

1. Nyissa meg azt a munkalapot, amely az adatérvényesítési legördülő listákat tartalmazza, amelyekből többszörös kijelölést szeretne végezni. Kattintson a jobb gombbal a lapfülre, és válassza ki Kód megtekintése a helyi menüből.

2. Ban,-ben Microsoft Visual Basic for Applications ablakba másolja az alábbi VBA kódot a kód ablakba. Lásd a képernyőképet:

VBA-kód 1: Több kijelölés engedélyezése egy legördülő listában, ismétlődések nélkül

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2019/11/13
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(Target, xRng) Is Nothing Then
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or _
                   InStr(1, xValue1, ", " & xValue2) Or _
                   InStr(1, xValue1, xValue2 & ",") Then
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & ", " & xValue2
                End If
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub

3. megnyomni a más + Q gombok a Microsoft Visual Basic for Applications ablak.

Mostantól több elemet is kiválaszthat az aktuális munkalap legördülő listájából.

Tegyük fel, hogy véletlenül választott ki egy elemet, és el kell távolítania anélkül, hogy az egész cellát törölné, és elölről kezdené. A következő VBA-kód 2 tehet egy szívességet.

VBA-kód 2: Több kijelölés engedélyezése a legördülő listában ismétlődések nélkül (törölje a meglévő elemeket az újbóli kijelöléssel)

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2023/01/11
    'Updated by Ken Gardner 2022/07/11
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim semiColonCnt As Integer
    Dim xType As Integer
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    
    xType = 0
    xType = Target.Validation.Type
    If xType = 3 Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
                    xValue1 = Replace(xValue1, "; ", "")
                    xValue1 = Replace(xValue1, ";", "")
                    Target.Value = xValue1
                ElseIf InStr(1, xValue1, "; " & xValue2) Then
                    xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
                    Target.Value = xValue1
                ElseIf InStr(1, xValue1, xValue2 & ";") Then
                    xValue1 = Replace(xValue1, xValue2, "")
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & "; " & xValue2
                End If
                Target.Value = Replace(Target.Value, ";;", ";")
                Target.Value = Replace(Target.Value, "; ;", ";")
                If Target.Value <> "" Then
                    If Right(Target.Value, 2) = "; " Then
                        Target.Value = Left(Target.Value, Len(Target.Value) - 2)
                    End If
                End If
                If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
                    Target.Value = Replace(Target.Value, "; ", "", 1, 1)
                End If
                If InStr(1, Target.Value, ";") = 1 Then
                    Target.Value = Replace(Target.Value, ";", "", 1, 1)
                End If
                semiColonCnt = 0
                For i = 1 To Len(Target.Value)
                    If InStr(i, Target.Value, ";") Then
                        semiColonCnt = semiColonCnt + 1
                    End If
                Next i
                If semiColonCnt = 1 Then ' remove ; if last character
                    Target.Value = Replace(Target.Value, "; ", "")
                    Target.Value = Replace(Target.Value, ";", "")
                End If
            End If
        End If
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

Megjegyzések:

1). A duplikált értékek nem szerepelhetnek a legördülő listában.
2). A fenti VBA 2-es kódot lelkes felhasználónk, Ken Gardner biztosította 2022/07/11.
3). Mentse el a munkafüzetet an Excel makró-engedélyezett munkafüzet a kód jövőbeni működése érdekében.
4). A 2-es VBA-kód hozzáadása után eltávolíthat egy meglévő elemet, ha ismét kiválasztja azt a legördülő listából. Nézd meg az alábbi gifet:


Egy csodálatos eszközzel könnyedén létrehozhat legördülő listát több választással

Itt nagyon ajánljuk a Többszörös kiválasztás legördülő lista jellemzője Kutools az Excel számára neked. Ezzel a szolgáltatással könnyedén kiválaszthat több elemet a legördülő listából egy adott tartományban, az aktuális munkalapon, az aktuális munkafüzetben vagy az összes megnyitott munkafüzetben, amire szüksége van.

Alkalmazás előtt Kutools az Excel számáraKérjük, először töltse le és telepítse.

1. kettyenés Kutools > Legördülő lista > Többszörös kiválasztás legördülő lista > Beállítások. Lásd screenshot:

2. Ban,-ben Többször válassza ki a legördülő lista beállításait párbeszédpanelt, kérjük, konfigurálja az alábbiak szerint.

  • 2.1) Adja meg az alkalmazási kört a Alkalmazza szakasz. Ebben az esetben én választom Aktuális munkalap tól Meghatározott hatály legördülő lista;
  • 2.2) A Szövegirány szakaszban válasszon ki egy szövegirányt az igényei alapján;
  • 2.3) A szétválasztó mezőbe írjon be egy elválasztót, amelyet a több érték elválasztására használ majd;
  • 2.4) Ellenőrizze a Ne adjon meg másolatokat doboz a Opciók szakasz, ha nem szeretne duplikátumokat készíteni a legördülő lista celláiból;
  • 2.5) Kattintson a gombra OK gomb. Lásd a képernyőképet:

3. Kattintson a gombra Kutools > Legördülő lista > Többszörös kiválasztás legördülő lista a funkció engedélyezéséhez.

Most több elemet is kiválaszthat az aktuális munkalap legördülő listájából, vagy bármely, a 2. lépésben megadott hatókörből.

  Ha szeretnél egy ingyenes próbaidőszakot (30-nap) ebből a segédprogrambó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 bemutató a legördülő listáról ...


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-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 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 naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (66)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Köszönjük a megoldást és a kódot. De a következő lépés annak biztosítása, hogy a felhasználó ne válassza ki a "duplikált" értékeket a legördülő listából. Pl. Ha 4 elem van a listában - narancs, alma, banán, őszibarack és ha a felhasználó már kiválasztotta a "narancsot", akkor az Excel ne engedje a "narancs" kiválasztását, VAGY ezt az opciót el kell távolítani a többi részből. a listát. Tegye közzé a kódot ennek a funkciónak a megvalósításához. Kösz. Yezdi
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Yezdi! Köszönjük észrevételét. A kód frissítve lett, és a legördülő listában nem szerepelhet ismétlődő érték. Kösz. Napfény
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyszerű, hogy ez lehetővé teszi a többszörös kijelölést, de ahogy @Yezdi megjegyezte, azt tapasztalom, hogy akkor is hozzáad egy vagy több ismétlődést, ha nem választom ki őket. Tehát jelenleg ez egy 80%-os megoldás... egyetlen finomság választja el a tökéletestől. Nem vagyok VB kódoló, vagy ajánlanám a megoldást.
A weboldal moderátora ezt a megjegyzést minimalizálta
A kódot a következő sorokban módosíthatja, hogy megakadályozza a duplikációkat: If xÉrték2 "" Akkor Cél.Érték = xÉrték1 & ", " & xÉrték2 vége If To: If xÉrték2 "" Akkor If CheckIfAlreadyAdded(xÉrték1, xÉrték2) = hamis, akkor cél .Érték = xÉrték1 & ", " & xÉrték2 Else Cél.Érték = xÉrték1 End If End If És akkor adja hozzá a következő függvényt: Privát függvény CheckIfAlreadyAdded(ByVal sText As String, sNewValue As String) As Boolean CheckIfAlreadyAdded =False Dim) As String WrdArray() = Split(sText, ",") For i = LBound(WrdArray) to UBound(WrdArray) Ha Trim(WrdArray(i)) = Trim(sNewValue) akkor CheckIfAlreadyAdded = True Next i End Function -- Valószínűleg van jobb kódolási módszerek, de egyelőre működik.
A weboldal moderátora ezt a megjegyzést minimalizálta
Most vettem észre, hogy nem léptem ki a ciklusból az új függvényben, ha a feltétel be van állítva, így nem kell más bejegyzéseket ellenőriznünk.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia. Köszönjük a kódot és a kiegészítést, hogy korlátozzuk az ismétlődéseket. Még egy kérés – milyen kiegészítést/módosítást kellene végrehajtani ahhoz, hogy csak egy vagy két konkrét oszlopban lehessen többszörös kiválasztást tenni? Ez a kód új szövegsorokat ad hozzá azokhoz a cellákhoz, amelyeknek „sima” celláknak kell lenniük, ha kijavítok egy elírást, vagy módosítom vagy kiegészítem a szöveget a cellában, ahelyett, hogy „normálisan” viselkednék és elfogadnám a változtatást. (a teljes szöveg újbóli hozzáadása nélkül). Például az A oszlop egy „sima” oszlop. Írok egy mondatot: "Mi az a három elem, amit a legjobban szeretnél?" A B oszlop egy „lista” oszlop, ahol csak egyetlen értéket szeretnék kiválasztani (jelen esetben mondjuk egy gyermek nevét). A C oszlop egy másik „lista” oszlop, ahol a felhasználónak képesnek kell lennie több elem kiválasztására (amit ez a kód tökéletesen lehetővé tesz). Ahogy haladok, rájövök, hogy elgépeltem az A oszlopot, és szeretném kijavítani. A kód jelenlegi állása szerint, ha belépek (dupla kattintás, F2) és javítom az "elemek" szót, a következő eredményt kapom a cellámban: "Mi az a három elem, amelyet leginkább szeretne? Mi az a három azokat a termékeket, amelyeket a legjobban szeretne?" előre is köszönöm a segítséget (olyan felhasználótól, aki VALÓBAN szereti a VBA-t, de még a tanulás legkorábbi szakaszában van!)
A weboldal moderátora ezt a megjegyzést minimalizálta
Sikerült működésre bírnom a kódot, de aztán amikor elmentettem a dokumentumot (makrók engedélyezésével), bezártam és visszatértem, a kód már nem működött (pedig még benne volt). Nem tudok rájönni, mit csináltam rosszul. Bármilyen ötletet?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Cynthia! Ha az eredeti szerző nem válaszol, kapok választ, de csak december 29-én leszek újra számítógép előtt. Én sem vagyok VBA programozó. Amit időközben megtehet, az az az, hogy a Google keresi az oszlopszám azonosítását, és csak akkor engedi lefutni a kódot, ha az adott oszlop(ok)ban szerkesztik az adatokat. Megcsináltam, de a kód a munkahelyi számítógépemen van, és pillanatnyilag nem tudom visszahívni. Esetleg próbálj meg egy debug.print fájlt a target.column-on vagy valami ehhez hasonlót elhelyezni, hogy megnézd, megadja-e a szerkesztett oszlop számát. . Elnézést Jennifer, nem vagyok biztos a problémádban :(
A weboldal moderátora ezt a megjegyzést minimalizálta
@Cynthia, Ha továbbra is szükség van rá, akkor képesnek kell lennie valami ilyesmire, hogy csak bizonyos oszlopokon fusson a kód, esetemben a 34. és 35. oszlopban: If (Cél. 34. oszlop és cél. 35. oszlop) akkor lépjen ki az alból – Tedd ezt a kódot a halvány állítások elejére
A weboldal moderátora ezt a megjegyzést minimalizálta
[quote]@Cynthia, Ha továbbra is szükséges, akkor képesnek kell lennie valami ilyesmire, hogy csak bizonyos oszlopokon fusson a kód, esetemben a 34. és 35. oszlopban: If (Cél. 34. oszlop és cél. 35. oszlop) Ezután lépjen ki az alból. 'Tegye ezt a kódot a homályos utasítások elejéreMervyn által[/quote] Szia @Mervyn! Teljesen eltűnt a téma, de köszönöm szépen a válaszokat. Megpróbáltam alkalmazni az If (Cél.Oszlop 34 és Cél.Oszlop 35) Akkor Exit Sub (az én verzióm így szól: If (Target.Column4 and Target.Column5) majd Exit Sub, ahogy megadtad, de a "Run-time" üzenetet kapom. hiba '438': Az objektum nem támogatja ezt a tulajdonságot vagy metódust"" hiba az új sorban. Íme a kódom első néhány sora: Private Sub Worksheet_Change(ByVal Target As Range) Dim xRng As Range Dim xValue1 As String Dim xÉrték2 Karakterláncként If (Cél.Oszlop4 És Target.Oszlop5) Majd kilépés az alszámból, ha a cél.szám > 1, majd kilépés a részből Hiba esetén Folytatás Tovább A munkalapon csak 6 oszlop van: Kérdés | Válasz | Kategória | Alkategória | Címkék | Fotóhivatkozás Csak több értéket tartalmazó legördülő menüre van szükségem az alkategóriákban és a címkékben (4. és 5. oszlop). Továbbra is keresem az információkat, ahogy azt Ön 12/23-án javasolta, és megnézem a Jótékonysági hivatkozást.
A weboldal moderátora ezt a megjegyzést minimalizálta
Ha Target.Column <> 34, akkor Exit Sub

– Tedd ezt a kódot a halvány állítások elejére
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, jelenleg ezt a képletet használom, és minden adatellenőrzéssel rendelkező oszlop rendelkezik a többszörös kijelölés lehetőséggel, azonban a többszörös kijelölést csak egy oszlopra szeretném korlátozni. Valaki szerkesztheti ezt a képletet úgy, hogy a többszörös kijelölés csak a 4. oszlopra vonatkozzon? Köszönöm :) Private Sub Worksheet_Change(ByVal Target As Range) 'Frissítve: 2016/4/12 Dim xRng As Range Dim xValue1 As String Dim xValue2 As String If Target.Count > 1 Akkor kilépés a Sub-ból hiba esetén Folytatás a következő cella beállítása xRng SpecialCells(xlCellTypeAllValidation) Ha az xRng semmi, akkor lépjen ki az Alalkalmazásból.EnableEvents = False, ha nem Application.Intersect(Target, xRng) is semmi Akkor xÉrték2 = Target.Value Application.Undo xÉrték1 = Cél.Érték Cél.Érték = xÉrték2 Ha xÉrték1 "Ha xÉrték. " Akkor Ha xÉrték2 "" Akkor Ha xÉrték1 = xÉrték2 Or _ InStr(1, xÉrték1, ", " & xÉrték2) Or _ InStr(1, xÉrték1, xÉrték2 & ",") Akkor Cél.Érték = xÉrték1 Else Cél.Érték = xValue1 & ", " & xValue2 End If End If End If End If Application.EnableEvents = True End Sub Minden segítséget nagyra értékelünk!
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez jól működik, de a kiválasztott elemet nem tudom eltávolítani. Van valami javaslata arra az esetre, ha véletlenül rákattintottam valamire, és el kell távolítania anélkül, hogy (remélhetőleg) az egész cellát kiürítené és elölről kezdené? Azok számára is, akik oszlopot vagy oszlopokat szeretnének meghatározni, a Contextures nagyszerű kiegészítéssel rendelkezik az itt található kódhoz, amely lehetővé teszi ezt. http://www.contextures.com/excel-data-validation-multiple.html#column
A weboldal moderátora ezt a megjegyzést minimalizálta
[quote]Ez jól működik, de a kiválasztott elemet nem tudom eltávolítani. Van valami javaslata arra az esetre, ha véletlenül rákattintottam valamire, és el kell távolítania anélkül, hogy (remélhetőleg) az egész cellát kiürítené és elölről kezdené? Azok számára is, akik oszlopot vagy oszlopokat szeretnének meghatározni, a Contextures nagyszerű kiegészítéssel rendelkezik az itt található kódhoz, amely lehetővé teszi ezt. http://www.contextures.com/excel-data-validation-multiple.html#columnCharity által[/quote] A kód jól működik. Úgy tűnik azonban, hogy nem tudom megszüntetni egy elem kijelölését. Ha el akarok távolítani egy elemet a kijelölésből, az egyszerűen nem kerül eltávolításra. Valaki más is tapasztalja ezt a problémát?[/quote] Sziasztok! Találtunk valami megoldást erre a problémára. Kérjük, ossza meg...
A weboldal moderátora ezt a megjegyzést minimalizálta
Sziasztok, a kód jól működik. Úgy tűnik azonban, hogy nem tudom megszüntetni egy elem kijelölését. Ha el akarok távolítani egy elemet a kijelölésből, az egyszerűen nem kerül eltávolításra. Más is tapasztalja ezt a problémát?
A weboldal moderátora ezt a megjegyzést minimalizálta
Volt-e válasz erre a kérdésre. Ez ugyanaz a probléma, mint én. Úgy tűnik, nincs mód egy kiválasztott elem eltávolítására.
A weboldal moderátora ezt a megjegyzést minimalizálta
törölje a cella tartalmát, majd válassza ki újra
A weboldal moderátora ezt a megjegyzést minimalizálta
Sziasztok! Ez a kód van egy excel lapon, és a cella kiválasztásakor kitisztítja a legördülő listából - tudom, hogy a kód melyik része csinálja ezt (az a rész, ami azt mondja, hogy "fillRng.ClearContents") és én megpróbáltam a fentiek közül néhányat felhasználni a javításra, sikertelenül... Új vagyok a VBA programozásban stb. Tudna valaki segíteni, hogyan lehet megváltoztatni, hogy a cella kiválasztásakor ne törlődjön és a bejegyzések ne legyenek duplikált kérem?? Opció Explicit Dim fillRng As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Qualifiers As MSForms.ListBox Dim LBobj As OLEObject Dim i As Long Set LBobj = Me.OLEObjects("O ListowbjectBox."O)RgetBox. > 1 És Target.Oszlop = 3, majd állítsa be a fillRng = célt LBobj-val .Bal = fillRng.Left .Top = fillRng.Top .Width = fillRng.Width .Height = 3 .Látható = Igaz vége mással LBobj.Visible = hamis, ha A nem fillRng nem semmi Akkor fillRng.ClearContents minősítőkkel If .ListCount 155 Then For i = 0 To .ListCount - 0 If fillRng.Value = "" Then If .Selected(i) Akkor fillRng.Value = .List(i) Else If .Selected(i) Akkor fillRng.Value = _ fillRng.Value & ", " & .List(i) End If Next End If For i = 1 To .ListCount - 0 .Selected(i) = False Következő Vége a fillRng beállításával = Nothing End If End If End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Sziasztok! A legördülő listámat tökéletesen meg tudnám csinálni, de a kérdésem az, hogy amikor kijelölöm az összes elemet, akkor egymás után vízszintesen megy át a cellán, például: sárga, zöld, fekete, piros. De hogyan tudnám függőlegesen kinézni?, inkább például: Narancssárga üres sárga Piros Mert vízszintesen a cella elég hosszú lesz, ha sok elemet választunk ki. Kérem, mondja meg, van-e valami módja ennek? Köszönöm, Desiree
A weboldal moderátora ezt a megjegyzést minimalizálta
Sikerült felhasználnom ezt a kódot, és sikeresen létrehoztam több kiválasztási legördülő listát. Működött, amikor különböző napokon bezártam és újra kinyitottam. Most azonban nem minden, eredetileg kiválasztott cella teszi lehetővé a többszörös kijelölést. Csak azokat, amelyek korábban elkészültek, annak ellenére, hogy az egész táblázathoz használta a kódot. Tud segíteni?
A weboldal moderátora ezt a megjegyzést minimalizálta
Ugyanaz a probléma.
A weboldal moderátora ezt a megjegyzést minimalizálta
a cellák nagy valószínűséggel zárva vannak, kattintson jobb gombbal mindegyikre, lépjen a cellák formázása, védelem menüpontra, majd törölje a locked cell opciót
A weboldal moderátora ezt a megjegyzést minimalizálta
Létrehoztam egy legördülő listát, ahol több szövegkijelölés is kiválasztható, például "táplálkozás", "súly" és "munka" minden hívó telefonálási okához. Van egy összefoglaló oldalam, ahol látni szeretném, hogy az egyes okok közül hány egy adott hónapban jelezték. Milyen képlettel mondjam meg az Excelnek, hogy ezeket külön-külön vegye ki és számolja össze egy adott hónapban? Jelenleg az általam beállított módon csak akkor egyezik helyesen, ha minden hívóhoz egy ok van a cellában.
A weboldal moderátora ezt a megjegyzést minimalizálta
Good Day,
Sajnos nem tudok segíteni a probléma megoldásában. Kérem, jelezze, ha megtalálta a választ.
A weboldal moderátora ezt a megjegyzést minimalizálta
Megpróbálok létrehozni 4 oszlopot legördülő listákkal, ahol több értéket is kiválaszthatok. Hogyan módosíthatom a "legördülő lista több kijelöléssel" VBA kódot úgy, hogy amikor egy már beírt értékre kattintok, az eltávolítsa a cellából? Előre is köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Randy!
Mit értesz azon, hogy "ha rákattintok egy már bevitt értékre, az eltávolítja a cellából?"
A weboldal moderátora ezt a megjegyzést minimalizálta
Ugyanez a kérdésem. A legördülő listám nem emlékszik a kiválasztott értékekre. Ha valaki rákattint egy már feltöltött cellára (nem ő, hanem valaki más), a kiválasztott értékek törlődnek és a cella ismét üres lesz.
A weboldal moderátora ezt a megjegyzést minimalizálta
Az alábbi kódot használom, hogy engedélyezzem a többszörös kijelölést több munkalapon, de amikor egy másik munkalapra lépek a munkafüzetben, a többszörös kijelölés eltűnik. Amikor elmentem a fájlt, és visszatérek, az egyik lapon működik a kóddal, de amikor rákattintok egy másik lapra a kóddal, akkor már nem működik. Van valami ötleted, hogyan lehetne megjavítani, így ha rákattintok egy VBA kódot tartalmazó munkalapra, mindig engedélyezi a többszörös kijelölést?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, ich bin totaler VBA Laie. Ich versuche den Code so zu modifizieren, dass
a) die Mehrfachauswahl nicht in allen, sondern nur ein zwei Spalten aktiv ist
b) ich Items auch wieder rausnehmen kann, zB in dem ich in der Listenauswahl das Item noch einmal anklicke (Beispiel: ich habe über die Mehrfachauswahl ausgewählt: A, D, X, Y... nun fälldass mir dazunicht, Beim aktuellen Code müsste ich Eingaben entfernen und neu auswählen).
Előre is köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Nem tudom folytatni a legördülő lista többszörös kijelölésének létrehozását. Meghallgattam az oktatóanyagot és olvastam anyagot, de még mindig nem tudok létrehozni. Kérem valaki tudna nekem segíteni?
A weboldal moderátora ezt a megjegyzést minimalizálta
Tudom, hogy ez teljesen véletlenszerű lehet, de a VBA egy változatát használom probléma nélkül. Egy oldal kivételével, ha az első három lehetőséget választja, a negyediket nem fogja kiválasztani. Lehetővé teszi az 5., 6. és így tovább kiválasztását, csak a 4. opciót nem. Gondolatok?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Robert,
Kipróbáltam a kódot, de nem találtam a problémát, ahogy említetted. Meg tudná mondani, hogy melyik Excel verziót használja? Köszönjük észrevételét.
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi