Kako ustvariti spustni seznam z več izbirami ali vrednostmi v Excelu?
Privzeto lahko izberete samo en element na spustnem seznamu za preverjanje podatkov v Excelu. Kako lahko naredite več izbir na spustnem seznamu, kot je prikazano spodaj na sliki? Metode v tem članku vam lahko pomagajo rešiti težavo.
Več vadnic za spustni seznam ...
Ustvari spustni seznam z več izbirami s kodo VBA
V tem razdelku sta na voljo dve kodi VBA, ki vam pomagata narediti več izbir na spustnih seznamih na delovnem listu. Dve kodi VBA lahko dosežeta:
Uporabite lahko eno od naslednjih kod VBA, da naredite več izbir na spustnem seznamu na delovnem listu v Excelu. Prosimo, naredite naslednje.
1. Odprite delovni list, ki vsebuje spustne sezname za preverjanje podatkov, iz katerih želite narediti več izbir. Z desno miškino tipko kliknite zavihek lista in izberite Ogled kode iz kontekstnega menija.
2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kopirajte spodnjo kodo VBA v okno kode. Oglejte si posnetek zaslona:
Koda VBA 1: Dovoli več izbir na spustnem seznamu brez dvojnikov
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. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.
Zdaj lahko izberete več elementov s spustnega seznama v trenutnem delovnem listu.
Recimo, da ste pomotoma izbrali element in ga morate odstraniti, ne da bi počistili celotno celico in začeli znova. Naslednja koda VBA 2 vam lahko naredi uslugo.
Koda VBA 2: Dovoli več izbir na spustnem seznamu brez dvojnikov (izbrišite obstoječe elemente tako, da jih znova izberete)
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
Opombe:
Z neverjetnim orodjem enostavno ustvarite spustni seznam z več izbirami
Kot lahko vidite, z zgornjimi kodami VBA ni enostavno ravnati. Tukaj toplo priporočamo Večkrat izberite spustni seznam značilnost Kutools for Excel ki vam bo pomagal enostavno opraviti to nalogo s kliki. S to funkcijo lahko enostavno izberete več elementov s spustnega seznama v določenem obsegu, trenutnem delovnem listu, trenutnem delovnem zvezku ali vseh odprtih delovnih zvezkih, kot jih potrebujete.
Nasvet: Preden uporabite to orodje, namestite Kutools for Excel najprej. Pojdite na brezplačen prenos zdaj.
- Izberite Kutools > Spustni seznam > Večkrat izberite spustni seznam.
- v Večkrat izberite spustni seznam pogovorno okno, naredite naslednje nastavitve.
2.1) Določite, kje želite uporabiti to funkcijo v Nastavite obseg odsek;2.2) Določite ločilo za izbrane elemente v celici;2.3) Odločite se o smeri besedila;2.4) Kliknite OK.

Rezultat
Sorodni članki:
Samodokončanje pri vnašanju spustnega seznama v Excelu
Če imate spustni seznam za preverjanje veljavnosti podatkov z velikimi vrednostmi, se morate na seznamu pomakniti navzdol, samo da bi našli pravega, ali pa v besedilno polje vnesite celo besedo. Če obstaja način, ki omogoča samodejno dokončanje pri vnosu prve črke na spustnem seznamu, bo vse postalo lažje. Ta vadnica ponuja metodo za reševanje težave.
Ustvari spustni seznam iz drugega delovnega zvezka v Excelu
Na delovnih listih v delovnem zvezku je zelo enostavno ustvariti spustni seznam za preverjanje veljavnosti podatkov. Če pa se podatki seznama, ki jih potrebujete za preverjanje podatkov, nahajajo v drugi delovni knjigi, kaj bi storili? V tej vadnici boste podrobno izvedeli, kako iz drugega delovnega zvezka v Excelu ustvarite spustni seznam.
Ustvarite spustni seznam, ki ga je mogoče iskati v Excelu
Za spustni seznam s številnimi vrednostmi iskanje pravega ni lahko delo. Prej smo uvedli način samodejnega dokončanja spustnega seznama, ko v spustnem polju vnesemo prvo črko. Poleg funkcije samodokončanja lahko po spustnem seznamu omogočite tudi iskanje za povečanje delovne učinkovitosti pri iskanju ustreznih vrednosti na spustnem seznamu. Če želite omogočiti iskanje po spustnem seznamu, poskusite z metodo v tej vadnici.
Samodejno izpolnite druge celice pri izbiri vrednosti v spustnem seznamu Excel
Recimo, da ste ustvarili spustni seznam na podlagi vrednosti v obsegu celic B8: B14. Ko izberete katero koli vrednost na spustnem seznamu, želite, da se ustrezne vrednosti v območju celic C8: C14 samodejno vnesejo v izbrano celico. Za rešitev težave vam bodo storitve v tej vadnici naredile uslugo.
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti z Kutools for Excel, in izkusite učinkovitost kot še nikoli prej. Kutools for Excel Ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Office Tab Prinaša vmesnik z zavihki v Office in vam olajša delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!





















