Sut i greu gwymplen gyda nifer o ddetholiadau neu werthoedd yn Excel?
Yn ddiofyn, dim ond un eitem y gallwch ei dewis mewn cwymprestr dilysu data yn Excel. Sut allwch chi wneud dewisiadau lluosog yn y gwymplen fel y dangosir y gif isod? Gall y dulliau yn yr erthygl hon eich helpu i ddatrys y broblem.
Mwy o diwtorial ar gyfer y gwymplen ...
Creu rhestr ostwng gyda nifer o ddetholiadau gyda chod VBA
Mae'r adran hon yn darparu dau god VBA i'ch helpu i wneud dewisiadau lluosog mewn rhestrau cwympo mewn taflen waith. Gall y ddau god VBA gyflawni:
Gallwch chi gymhwyso un o'r codau VBA canlynol i wneud dewisiadau lluosog mewn rhestr ostwng mewn taflen waith yn Excel. Gwnewch fel a ganlyn.
1. Mae agor y daflen waith yn cynnwys y cwymplenni dilysu data yr ydych am wneud dewisiadau lluosog ohonynt. De-gliciwch ar y tab taflen a dewiswch Gweld y Cod o'r ddewislen cyd-destun.
2. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, copïwch y cod VBA isod i mewn i'r ffenestr cod. Gweler y screenshot:
Cod VBA 1: Caniatáu dewis lluosog mewn cwymprestr heb ddyblygiadau
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. Gwasgwch y Alt + Q allweddi i gau'r Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.
Nawr gallwch ddewis eitemau lluosog o'r gwymplen yn y daflen waith gyfredol.
Gan dybio eich bod wedi dewis eitem yn ddamweiniol a bod angen ei thynnu heb glirio'r gell gyfan a dechrau drosodd. Gall y cod VBA 2 canlynol wneud ffafr i chi.
Cod VBA 2: Caniatáu dewis lluosog mewn cwymprestr heb ddyblygiadau (dilëwch eitemau presennol trwy ei ddewis eto)
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
Nodiadau:
Yn hawdd creu rhestr ostwng gyda nifer o ddetholiadau gydag offeryn anhygoel
Fel y gwelwch, nid yw'r codau VBA uchod yn hawdd eu trin. Yma rydym yn argymell yn fawr y Rhestr Gollwng Aml-ddewis nodwedd o Kutools for Excel i'ch helpu i drin y dasg hon yn hawdd gyda chliciau. Gyda'r nodwedd hon, gallwch chi ddewis eitemau lluosog yn hawdd o'r gwymplen mewn ystod benodol, taflen waith gyfredol, llyfr gwaith cyfredol neu'r holl lyfrau gwaith sydd wedi'u hagor yn ôl yr angen.
Tip: Cyn gwneud cais offeryn hwn, os gwelwch yn dda gosod Kutools for Excel yn gyntaf. Ewch i lawrlwytho am ddim nawr.
- dewiswch Kutools > Rhestr Gollwng > Rhestr Gollwng Aml-ddewis.
- Yn y Rhestr Gollwng Aml-ddewis blwch deialog, gwnewch y gosodiadau canlynol.
2.1) Nodwch ble rydych chi am gymhwyso'r nodwedd hon yn y Gosod cwmpas adran;2.2) Nodwch y gwahanydd ar gyfer yr eitemau a ddewiswyd mewn cell;2.3) Penderfynwch ar gyfeiriad y testun;2.4) Cliciwch OK.

Canlyniad
Erthyglau cysylltiedig:
Yn awtomataidd wrth deipio rhestr ostwng Excel
Os oes gennych chi gwymplen dilysu data gyda gwerthoedd mawr, mae angen i chi sgrolio i lawr yn y rhestr dim ond er mwyn dod o hyd i'r un iawn, neu deipio'r gair cyfan yn y blwch rhestr yn uniongyrchol. Os oes dull ar gyfer caniatáu i gwblhau auto wrth deipio'r llythyren gyntaf yn y gwymplen, bydd popeth yn dod yn haws. Mae'r tiwtorial hwn yn darparu'r dull i ddatrys y broblem.
Creu rhestr ostwng o lyfr gwaith arall yn Excel
Mae'n eithaf hawdd creu gwymplen dilysu data ymhlith taflenni gwaith mewn llyfr gwaith. Ond os yw'r data rhestr sydd ei angen arnoch ar gyfer dilysu'r data yn lleoli mewn llyfr gwaith arall, beth fyddech chi'n ei wneud? Yn y tiwtorial hwn, byddwch yn dysgu sut i greu rhestr gollwng o lyfr gwaith arall yn Excel yn fanwl.
Creu rhestr ostwng y gellir ei chwilio yn Excel
Ar gyfer rhestr ostwng sydd â nifer o werthoedd, nid yw dod o hyd i un iawn yn waith hawdd. Yn flaenorol rydym wedi cyflwyno dull o gwblhau rhestr ostwng yn awtomatig wrth nodi'r llythyr cyntaf yn y gwymplen. Heblaw am y swyddogaeth awtocomplete, gallwch hefyd wneud y rhestr ostwng yn chwiliadwy am wella'r effeithlonrwydd gweithio wrth ddod o hyd i werthoedd cywir yn y gwymplen. Ar gyfer chwilio rhestr ostwng, rhowch gynnig ar y dull yn y tiwtorial hwn.
Auto poblogi celloedd eraill wrth ddewis gwerthoedd yn rhestr ostwng Excel
Gadewch i ni ddweud eich bod wedi creu rhestr ostwng yn seiliedig ar y gwerthoedd yn ystod celloedd B8: B14. Pan ddewiswch unrhyw werth yn y gwymplen, rydych chi am i'r gwerthoedd cyfatebol yn ystod celloedd C8: C14 gael eu poblogi'n awtomatig mewn cell ddethol. Ar gyfer datrys y broblem, bydd y dulliau yn y tiwtorial hwn yn ffafrio chi.
Offer Cynhyrchiant Swyddfa Gorau
Supercharge Eich Sgiliau Excel gyda Kutools for Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed o'r blaen. Kutools for Excel Yn cynnig dros 300 o nodweddion uwch i hybu cynhyrchiant ac arbed amser. Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...
Office Tab Yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer
- Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
- Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
- Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!





















