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

Ինչպե՞ս ստեղծել բացվող ցուցակ Excel- ում բազմաթիվ ընտրություններով կամ արժեքներով:

Լռելյայնորեն, Excel-ում տվյալների վավերացման բացվող ցանկում կարող եք ընտրել միայն մեկ տարր: Ինչպե՞ս կարող եք մի քանի ընտրություն կատարել բացվող ցուցակում, ինչպես ցույց է տրված ստորև ներկայացված gif-ը: Այս հոդվածի մեթոդները կարող են օգնել ձեզ լուծել խնդիրը:


Ստեղծեք բացվող ցուցակ ՝ VBA կոդով բազմաթիվ ընտրություններով

Այս բաժինը տրամադրում է երկու VBA կոդ, որոնք կօգնեն ձեզ մի քանի ընտրություն կատարել բացվող ցուցակներում աշխատաթերթում: Երկու VBA կոդերը կարող են հասնել.

VBA կոդ 1. Թույլատրել մի քանի ընտրություն բացվող ցուցակում առանց կրկնօրինակների
VBA կոդ 2. Թույլատրել մի քանի ընտրություն բացվող ցուցակում առանց կրկնօրինակների (ջնջել առկա տարրերը՝ կրկին ընտրելով այն)

Դուք կարող եք կիրառել հետևյալ VBA կոդերից մեկը՝ Excel-ի աշխատաթերթում բացվող ցուցակում մի քանի ընտրություն կատարելու համար: Խնդրում ենք անել հետևյալը.

1. Բացեք աշխատաթերթը պարունակում է տվյալների վավերացման բացվող ցուցակներ, որոնցից ցանկանում եք կատարել բազմաթիվ ընտրություն: Աջ սեղմեք թերթիկի ներդիրին և ընտրեք Դիտել կոդը համատեքստի ընտրացանկից:

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, պատճենեք ստորև նշված VBA կոդը ծածկագրի պատուհանում: Տեսեք,

VBA կոդ 1. Թույլատրել մի քանի ընտրություն բացվող ցուցակում առանց կրկնօրինակների

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. Սեղմեք ալտ + Q ստեղները փակելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

Այժմ դուք կարող եք ընտրել մի քանի տարրեր ընթացիկ աշխատաթերթի բացվող ցանկից:

Ենթադրենք, որ դուք պատահաբար եք ընտրել որևէ տարր և պետք է այն հեռացնեք առանց ամբողջ բջիջը մաքրելու և նորից սկսելու: Հետևյալ VBA կոդը 2-ը կարող է ձեզ լավություն անել:

VBA կոդ 2. Թույլատրել մի քանի ընտրություն բացվող ցուցակում առանց կրկնօրինակների (ջնջել առկա տարրերը՝ կրկին ընտրելով այն)

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

Notes:

1). Կրկնվող արժեքները թույլ չեն տալիս բացվող ցանկում:
2). Վերոնշյալ VBA կոդը 2-ը տրամադրվել է մեր խանդավառ օգտվող Քեն Գարդների կողմից 2022/07/11-ին:
3). Խնդրում ենք պահպանել աշխատանքային գրքույկը որպես Excel մակրոներով աշխատունակ գիրք ապագայում ծածկագիրը գործելու համար:
4). VBA կոդը 2 ավելացնելուց հետո դուք կարող եք հեռացնել գոյություն ունեցող տարրը՝ այն կրկին ընտրելով բացվող ցանկում: Տես ստորև ներկայացված gif-ը.


Anարմանալի գործիքով հեշտությամբ ստեղծեք բացվող ցուցակ ՝ բազմաթիվ ընտրություններով

Այստեղ մենք բարձր խորհուրդ ենք տալիս Բազմակի ընտրության Բացվող ցուցակ առանձնահատկությունը Excel- ի համար նախատեսված գործիքներ քեզ համար. Այս հատկության միջոցով դուք կարող եք հեշտությամբ ընտրել բացվող ցուցակից բազմաթիվ տարրեր նշված տիրույթում, ընթացիկ աշխատանքային թերթում, ընթացիկ աշխատանքային գրքում կամ բոլոր բացված աշխատանքային գրքույկներում, որքան ձեզ հարկավոր է:

Նախքան դիմելը Excel- ի համար նախատեսված գործիքներ, խնդրում եմ նախ ներբեռնեք և տեղադրեք այն.

1: սեղմեք Կուտոլս > Բացվող ցուցակ > Բազմակի ընտրության Բացվող ցուցակ > Պարամետրեր. Տեսեք,

2. Մեջ Բազմակի ընտրությամբ Բացվող ցուցակի կարգավորումները երկխոսության տուփ, խնդրում ենք կազմաձևել հետևյալը.

  • 2.1) կետում նշեք կիրառման շրջանակը Դիմել Բաժին. Այս դեպքում ես ընտրում եմ Ընթացիկ աշխատանքային թերթ - ից Նշված շրջանակը բացվող ցուցակ;
  • 2.2) Ի Տեքստի ուղղությունը բաժնում, ընտրեք տեքստի ուղղությունը `ելնելով ձեր կարիքներից;
  • 2.3) Ի Բաժանիչ տուփ, մուտքագրեք սահմանազատիչ, որը կօգտագործեք բազմաթիվ արժեքները տարանջատելու համար.
  • 2.4) Ստուգեք Մի ավելացրեք կրկնօրինակներ տուփի մեջ Ընտրանքներ բաժին, եթե չեք ցանկանում կրկնօրինակներ պատրաստել բացվող ցուցակի բջիջներում;
  • 2.5) Կտտացրեք այն OK կոճակ Տեսեք,

3. Խնդրում ենք կտտացնել Կուտոլս > Բացվող ցուցակ > Բազմակի ընտրության Բացվող ցուցակ գործառույթն ապահովելու համար:

Այժմ դուք կարող եք բացման ցուցակից մի քանի տարր ընտրել ընթացիկ աշխատանքային թերթում կամ 2-րդ քայլին ձեր կողմից նշված ցանկացած տիրույթում:

  Եթե ​​ցանկանում եք ունենալ անվճար փորձաշրջան (30-օր) այս կոմունալ, խնդրում ենք կտտացնել այն ներբեռնելու համար, և այնուհետև անցեք գործողությունը կիրառելու վերը նշված քայլերին համապատասխան:


Առնչվող հոդվածներ քանակը:

Excel- ի բացման ցուցակը մուտքագրելիս ավտոմատ լրացնել
Եթե ​​ունեք տվյալների վավերացման մեծ ցանկ ունեցող ցուցիչ, ապա հարկավոր է ոլորել ցուցակում `պատշաճը գտնելու համար, կամ ամբողջ բառն ուղղակիորեն մուտքագրել ցուցակի վանդակում: Եթե ​​կա բացման ցուցակում առաջին տառը մուտքագրելիս ավտոմատ կերպով լրացնելու թույլտվության մեթոդ, ամեն ինչ կդառնա ավելի հեշտ: Այս ձեռնարկը տրամադրում է խնդիրը լուծելու մեթոդը:

Excel- ում ստեղծեք մեկ այլ աշխատանքային գրքից բացվող ցուցակ
Տվյալների վավերացման բացվող ցուցակը աշխատանքային գրքում ստեղծելը բավականին հեշտ է: Բայց եթե տվյալների վավերացման համար անհրաժեշտ ցուցակի տվյալները տեղակայվեն մեկ այլ աշխատանքային գրքում, ի՞նչ կանեիք: Այս ձեռնարկում դուք կսովորեք, թե ինչպես մանրամասնորեն ստեղծել Excel- ի մեկ այլ աշխատանքային գրքից թողարկված ցանկի ցուցակ:

Excel- ում ստեղծեք որոնելի բացվող ցուցակ
Բազմաթիվ արժեքներով բացվող ցուցակի համար պատշաճ գտնելը հեշտ գործ չէ: Նախկինում մենք ներմուծել ենք բացվող ցուցակը ավտոմատ կերպով լրացնելու մեթոդ, երբ առաջին տառը մուտքագրեք բացվող վանդակում: Ինքնալրացման գործառույթից բացի, դուք կարող եք նաև բաց թողնել ցանկը որոնելի դարձնել `բացվող ցուցակում պատշաճ արժեքներ գտնելու գործում աշխատանքային արդյունավետությունը բարձրացնելու համար: Բացվող ցուցակը որոնելի դարձնելու համար փորձեք այս ձեռնարկի մեթոդը:

Excel- ի բացվող ցուցակում արժեքներ ընտրելիս ավտոմատ կերպով լրացրեք այլ բջիջներ
Ասենք, որ դուք ստեղծել եք բացվող ցուցակ `հիմնվելով B8: B14 բջիջների տիրույթի արժեքների վրա: Բացվող ցուցակում ցանկացած արժեք ընտրելիս ցանկանում եք, որ համապատասխան արժեքները C8: C14 բջիջների տիրույթում ավտոմատ կերպով լրացվեն ընտրված խցում: Խնդրի լուծման համար, այս ձեռնարկի մեթոդները կօգնեն ձեզ:

Լրացուցիչ ձեռնարկ ՝ բացվող ցուցակի համար ...


Գրասենյակի արտադրողականության լավագույն գործիքները

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (67)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, շնորհակալություն լուծման և կոդի համար: Բայց հաջորդ քայլն այն է, թե ինչպես կարելի է համոզվել, որ օգտագործողը չի ընտրում «կրկնվող» արժեքներ բացվող ցուցակից: Օրինակ, եթե ցանկում կա 4 տարր՝ նարինջ, խնձոր, բանան, դեղձ, և եթե օգտվողն արդեն ընտրել է «նարնջագույնը», ապա excel-ը չպետք է օգտագործողին թույլ տա ընտրել «նարնջագույն» ԿԱՄ այդ տարբերակը պետք է հեռացվի մնացորդից։ ցուցակը։ Խնդրում եմ, կարող եք հրապարակել կոդը այս գործառույթն իրականացնելու համար: Շնորհակալություն։ եզդի
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Եզդի, շնորհակալություն մեկնաբանության համար: Կոդը թարմացվել է, և այժմ բացվող ցուցակում կրկնվող արժեքներ չեն թույլատրվում: Շնորհակալություն։ Արևի շող
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հիանալի է, որ սա թույլ է տալիս մի քանի ընտրություն, բայց ինչպես մեկնաբանեց @Yezdi-ն, ես գտնում եմ, որ այն կավելացնի մեկ կամ մի քանի կրկնօրինակներ, նույնիսկ եթե ես դրանք չընտրեմ: Այսպիսով, ներկայումս սա 80% լուծում է... մեկ կսմթել հեռու կատարյալից: Ես VB կոդավորող չեմ կամ կառաջարկեի լուծումը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կրկնօրինակումները կանխելու համար կարող եք փոխել կոդը հետևյալ տողերում. Եթե xValue2 "" Ապա Target.Value = xValue1 & ", " & xValue2 End If To: If xValue2 "" Ապա Եթե CheckIfAlreadyAdded(xValue1, xValue2) = False, ապա Target .Value = xValue1 & ", " & xValue2 Else Target.Value = xValue1 End If End If And հետո ավելացրեք հետևյալ ֆունկցիան. Մասնավոր ֆունկցիա CheckIfAlreadyAdded(ByVal sText As String, sNewValue As String) As Boolean Dilrea CheckIfAdd String WrdArray() = Split(sText, ",") For i = LBound(WrdArray) To UBound(WrdArray) If Trim(WrdArray(i)) = Trim(sNewValue) Ապա CheckIfAlreadyAdded = True Next i End ֆունկցիան -- հավանաբար կա այն կոդավորելու ավելի լավ եղանակներ, բայց առայժմ այն ​​աշխատում է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հենց նոր հասկացա, որ ես նոր ֆունկցիայի հանգույցից դուրս չեմ եկել, եթե պայմանը դրված է, այնպես որ մենք ստիպված չլինենք ստուգել այլ մուտքերը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն. Շնորհակալություն կոդի և կրկնօրինակները սահմանափակելու հավելման համար: Եվս մեկ հարցում. ի՞նչ լրացում/փոփոխություն պետք է արվի, որպեսզի թույլատրվի բազմակի ընտրություն միայն մեկ կամ երկու կոնկրետ սյունակներում: Այս կոդը նորից տեքստի տողեր է ավելացնում այն ​​բջիջներում, որոնք պետք է լինեն «պարզ» բջիջներում, եթե ես ուղղեմ տառասխալը կամ փոփոխություն կամ լրացում կատարեմ տեքստում բջիջում՝ ի տարբերություն պարզապես «նորմալ» վարվելու և փոփոխությունն ընդունելու։ (առանց ամբողջ տեքստը կրկին ավելացնելու): Օրինակ, A սյունակը «պարզ» սյունակ է: Ես գրում եմ մի նախադասություն «Որո՞նք են այն երեք կետերը, որոնք դուք ամենաշատն եք ուզում»: B սյունակը «ցուցակ» սյունակ է, որտեղ ես ուզում եմ միայն մեկ արժեք ընտրել (այս դեպքում, ենթադրենք երեխայի անուն): C սյունակը ևս մեկ «ցուցակ» սյունակ է, որտեղ օգտատերը պետք է կարողանա ընտրել մի քանի տարրեր (ինչն այս կոդը թույլ է տալիս ինձ կատարելապես անել): Մինչ անցնում եմ, հասկանում եմ, որ A սյունակում տառասխալ եմ թույլ տվել և ուզում եմ ուղղել այն: Քանի որ այս կոդը կանգնած է, եթե ես մտնեմ (կրկնակի կտտացրեք, F2) և ուղղեմ «տարրեր» բառը, ապա իմ բջիջում կհայտնվի հետևյալ արդյունքը. այն իրերը, որոնք ամենաշատն եք ուզում»: նախապես շնորհակալություն ցանկացած օգնության համար (օգտատիրոջից, ով ԻՐՈՔ հավանում է VBA-ն, բայց դեռ գտնվում է ուսուցման ամենավաղ փուլում):
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես կարողացա կոդն աշխատեցնել, բայց հետո, երբ փաստաթուղթը պահպանեցի (մակրո ակտիվությամբ), փակեցի և վերադարձա, կոդը այլևս չաշխատեց (չնայած այն դեռ այնտեղ էր): Ես չեմ կարողանում հասկանալ, թե ինչ եմ սխալ արել: Կա՞ն գաղափարներ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Սինթիա, եթե սկզբնական հեղինակը չպատասխանի, ես ձեզ պատասխան կստանամ, բայց ես նորից կհայտնվեմ համակարգչի առջև դեկտեմբերի 29-ին: Ես նաև VBA ծրագրավորող չեմ: Այն, ինչ դուք կարող եք անել այդ ընթացքում, Google-ի որոնումն է, թե ինչպես կարելի է նույնականացնել սյունակի համարը և թույլ տալ, որ կոդը գործարկվի միայն այն դեպքում, եթե տվյալները խմբագրվում են տվյալ սյունակ(ներ)ում: Ես դա արել եմ, բայց կոդը գտնվում է իմ աշխատանքային ԱՀ-ում և այս պահին չեմ կարող հիշել այն, միգուցե փորձեք տեղադրել debug.print-ը target.column-ում կամ նման այլ բան՝ տեսնելու, թե արդյոք այն տալիս է ձեզ խմբագրվող սյունակի համարը: . Ներողություն Ջենիֆեր, վստահ չեմ, թե ինչ խնդիր ունեք :(
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
@Cynthia, Եթե դեռ պահանջվում է, դուք պետք է կարողանաք նման բան անել, որպեսզի համոզվեք, որ կոդը գործարկվի որոշակի սյունակների վրա, իմ դեպքում՝ սյունակ 34 և 35. «Այս կոդը սկզբում դրեք ձեր աղոտ հայտարարություններից հետո
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
[quote]@Cynthia, Եթե դեռ պահանջվում է, դուք պետք է կարողանաք նման բան անել, որպեսզի համոզվեք, որ կոդը գործարկվի միայն կոնկրետ սյունակների վրա, իմ դեպքում՝ սյունակ 34 և 35. Եթե (Target.Column 34 And Target.Column 35) Այնուհետև դուրս եկեք ենթակետից «Դրեք այս կոդը սկզբում ձեր մռայլ հայտարարություններից հետոՄերվինի կողմից[/quote] Ողջույն @Mervyn, թեմայի հետքը ամբողջությամբ կորցրել է, բայց շատ շնորհակալ եմ ձեր պատասխանների համար: Ես փորձել եմ կիրառել If (Target.Column 34 And Target.Column 35) և Exit Sub (իմ տարբերակը կարդում է If (Target.Column4 And Target.Column5), ապա Ելք Sub-ը, ինչպես դուք եք տրամադրել, բայց ստանում եմ «Run-time» սխալ '438'. Օբյեկտը չի աջակցում այս հատկությունը կամ մեթոդը"" սխալ այս նոր տողում: Ահա իմ կոդի առաջին մի քանի տողերը. Մասնավոր ենթաօրենսդրական աշխատաթերթ_Change (ByVal թիրախը որպես տիրույթ) Dim xRng որպես տիրույթի Dim xValue1 որպես տողի մթագնում: xValue2 As String If (Target.Column4 And Target.Column5) Այնուհետեւ Exit Sub If Target.Count > 1 Այնուհետեւ Exit Sub On Error Resume Next Իմ աշխատաթերթն ունի ընդամենը 6 սյունակ. Հարց | Պատասխան | Կատեգորիա | Ենթակատեգորիա | Թեգեր | Լուսանկարի հղում Ինձ միայն անհրաժեշտ են մի քանի արժեքներ ենթակատեգորիաներում և պիտակներում (սյունակներ 4 և 5): Ես կշարունակեմ տեղեկություններ փնտրել, ինչպես դուք առաջարկեցիք 12/23-ին և կնայեմ տրամադրված Charity հղումին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Եթե ​​Target.Column <> 34 Ապա Ելք Ենթ

«Այս կոդը սկզբում դրեք ձեր աղոտ հայտարարություններից հետո
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես ներկայումս օգտագործում եմ այս բանաձևը, և ​​տվյալների վավերացում ունեցող բոլոր սյունակներն այժմ ունեն բազմակի ընտրության տարբերակ, սակայն ես ուզում եմ սահմանափակել բազմակի ընտրությունը միայն մեկ սյունակով: Կարո՞ղ է ինչ-որ մեկը խմբագրել այս բանաձևը ինձ համար, որպեսզի բազմակի ընտրությունը կիրառվի միայն Սյունակ 4-ի վրա: Շնորհակալություն :) Մասնավոր ենթակետ Worksheet_Change(ByVal Target As Range) 'Թարմացվել է. 2016/4/12 Dim xRng որպես տիրույթ Dim xValue1 Որպես տող Dim xValue2 Որպես տող Եթե Target.Count > 1 Ապա Ելք Sub On Error Resume Next Cells = Rng: SpecialCells(xlCellTypeAllValidation) Եթե xRng-ը ոչինչ է, ապա Դուրս եկեք Sub Application.EnableEvents = False, եթե ոչ Application.Intersect(Target, xRng) ոչինչ է, ապա xValue2 = Target.Value Application.Undo xValue1 =Targue.Valueal. «Այնուհետև, եթե xValue2 «» Ապա, եթե xValue1 = xValue2 Կամ _ InStr(1, xValue2, ", " & xValue1) Կամ _ InStr(1, xValue2, xValue1 & ",") Այնուհետև Target.Value = xValue1 Ուրիշ Target.Value = xValue2 & ", " & xValue1 End If End If End If End If Application.EnableEvents = True End Sub Ցանկացած օգնություն կգնահատվի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա լավ է աշխատում, բայց ես չեմ կարող հեռացնել որևէ տարր ընտրվելուց հետո: Որևէ առաջարկություն կա՞, եթե ես պատահաբար սեղմեմ ինչ-որ բանի վրա և պետք է այն հեռացնեմ առանց (հուսով եմ) ամբողջ բջիջը մաքրելու և նորից սկսելու: Բացի այդ, նրանց համար, ովքեր ցանկանում են սահմանել սյունակ կամ սյունակներ, Contextures-ը հիանալի լրացում ունի այստեղ ներկայացված կոդին, որը թույլ է տալիս դա անել: http://www.contextures.com/excel-data-validation-multiple.html#column
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
[quote]Սա լավ է աշխատում, բայց ես չեմ կարող հեռացնել որևէ տարր ընտրվելուց հետո: Որևէ առաջարկություն կա՞, եթե ես պատահաբար սեղմեմ ինչ-որ բանի վրա և պետք է այն հեռացնեմ առանց (հուսով եմ) ամբողջ բջիջը մաքրելու և նորից սկսելու: Բացի այդ, նրանց համար, ովքեր ցանկանում են սահմանել սյունակ կամ սյունակներ, Contextures-ը հիանալի լրացում ունի այստեղ ներկայացված կոդին, որը թույլ է տալիս դա անել: http://www.contextures.com/excel-data-validation-multiple.html#columnԲարեգործության կողմից[/quote] Կոդը լավ է աշխատում: Այնուամենայնիվ, ես կարծես թե չեմ կարող չեղարկել որևէ տարր: Երբ ես ուզում եմ որևէ տարր հեռացնել ընտրանքից, այն պարզապես չի հանվում: Ուրիշ որևէ մեկը նույնպես բախվե՞լ է այս խնդրին:[/quote] Ողջույն բոլորին, այս խնդրի համար որևէ լուծում է գտնվել: Խնդրում ենք կիսվել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև ձեզ, կոդը լավ է աշխատում: Այնուամենայնիվ, ես կարծես թե չեմ կարող չեղարկել որևէ տարր: Երբ ես ուզում եմ որևէ տարր հեռացնել ընտրանքից, այն պարզապես չի հանվում: Ուրիշ որևէ մեկը նույնպես զգո՞ւմ է այս խնդիրը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Արձագանք եղե՞լ է այս հարցին։ Դա նույն խնդիրն է, որ ես ունեմ. Թվում է, թե ընտրված տարրը հեռացնելու միջոց չկա:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
ջնջել բովանդակությունը խցում, այնուհետև նորից ընտրել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն բոլորին, ես ունեմ այս կոդը excel թերթի վրա և այն մաքրում է բովանդակությունը բացվող ցուցակից, երբ ընտրվում է բջիջը. փորձել եմ օգտագործել վերը նշվածներից մի քանիսը այն անհաջող շտկելու համար... Ես նոր եմ VBA ծրագրավորում և այլն: Կարո՞ղ է որևէ մեկը որևէ օգնություն առաջարկել, թե ինչպես փոխել այն, որպեսզի այն, երբ ընտրված է բջիջը, այն չմաքրվի և մուտքերը չլինեն: կրկնօրինակված է խնդրում եմ?? Տարբերակ Բացահայտ Dim fillRng As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Qualifiers As MSForms.ListBox Dim LBobj Որպես OLEObject Dim i As Long Set LBobj = Me.OLEObjects("ListBoxetQobjet") > 1 And Target.Column = 3 Այնուհետև Սահմանեք fillRng = Թիրախ LBobj-ով .Ձախ = fillRng.Left .Վերև = fillRng.Վերև Not fillRng-ը ոչինչ չէ, then fillRng.ClearContents With Qualifiers If .ListCount 3 Այնուհետեւ For i = 155 To .ListCount - 0 If fillRng.Value = "" Հետո Եթե .Selected(i) Այնուհետեւ fillRng.Value = .List(i) Էլ Եթե .Selected(i) Այնուհետեւ fillRng.Value = _ fillRng.Value & ", " & .List(i) End If Next End If For i = 0 To .ListCount - 1 .Selected(i) = False Next End With Set fillRng = Nothing End If End If End Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն բոլորին, ես կարող էի կատարելապես կատարել իմ բացվող ցուցակը, բայց իմ հարցն այն է. երբ ընտրում եմ միացված բոլոր տարրերը, այն մեկը մյուսի հետևից անցնում է հորիզոնական բջիջի միջով, օրինակ՝ դեղին, կանաչ, սև, կարմիր: Բայց ինչպե՞ս կարող եմ այն ​​ուղղահայաց տեսք տալ: Օրինակ՝ նարնջագույն, սև դեղին կարմիր, քանի որ հորիզոնականում բջիջը բավականին երկար է դառնում շատ տարրեր ընտրելիս: Խնդրում եմ, կարո՞ղ եք ասել ինձ, արդյոք կա որևէ միջոց դա անելու համար: Շնորհակալություն, Դեզիրե
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ հաջողվեց օգտագործել այս կոդը և հաջողությամբ ստեղծել բազմաթիվ ընտրության բացվող տուփեր: Այն աշխատում էր, երբ ես տարբեր օրերի փակում և նորից բացում էի: Այնուամենայնիվ, այժմ իմ սկզբնապես ընտրված ոչ բոլոր բջիջներն են թույլ տալիս բազմակի ընտրություն: Միայն նախկինում արվածները՝ չնայած ամբողջ աղյուսակի ծածկագիրը օգտագործելուն: Կարող եք օգնել?
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես նույն խնդիրն ունեմ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
բջիջները, ամենայն հավանականությամբ, կողպված են, բոլորի վրա աջ սեղմեք, անցեք բջիջների ձևաչափում, պաշտպանություն, ապա հանեք կողպված բջիջի տարբերակը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ստեղծել եմ բացվող ցուցակ, որտեղ կարող են ընտրվել տեքստերի մի քանի տարբերակներ, ինչպիսիք են «սնուցումը», «քաշը» և «աշխատանքը» յուրաքանչյուր զանգահարողի զանգի համար: Ես ունեմ ամփոփ էջ, որտեղ ես ուզում եմ տեսնել, թե յուրաքանչյուր պատճառից քանիսը նշված են եղել կոնկրետ ամսում: Ի՞նչ բանաձև կօգտագործեմ, որպեսզի ասեմ Excel-ին հանել և հաշվարկել դրանցից յուրաքանչյուրը տվյալ ամսվա ընթացքում: Ներկայումս, ինչպես ես այն կարգավորել եմ, այն ճիշտ է հաշվարկվում միայն այն դեպքում, եթե ես խցում մեկ պատճառ ունեմ յուրաքանչյուր զանգահարողի համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Կներեք, չեմ կարող օգնել ձեզ լուծել այս խնդիրը: Խնդրում եմ ինձ տեղյակ պահեք, եթե գտնեք պատասխանը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձում եմ ստեղծել 4 սյունակ բացվող ցուցակներով, որտեղ կարող եմ ընտրել բազմաթիվ արժեքներ: Ինչպե՞ս կարող եմ փոփոխել «բացվող ցուցակը բազմաթիվ ընտրանքներով» VBA կոդը այնպես, որ երբ ես սեղմում եմ արդեն մուտքագրված արժեքի վրա, այն հեռացվում է բջիջից: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հարգելի Ռենդի,
Ի՞նչ նկատի ունեք «երբ ես սեղմում եմ արդեն մուտքագրված արժեքի վրա, այն հեռացնում է բջիջից»:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես նույն հարցն ունեմ. Իմ բացվող ցուցակը չի հիշում ընտրված արժեքները: Եթե ​​ինչ-որ մեկը կտտացնում է արդեն իսկ բնակեցված բջիջի վրա (ոչ թե նրանց կողմից, այլ մեկ ուրիշի կողմից), ընտրված արժեքները ջնջվում են, և բջիջը կրկին դատարկ է մնում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես օգտագործում եմ ստորև բերված կոդը՝ մի քանի աշխատաթերթերի վրա բազմակի ընտրությունը թույլատրելու համար, բայց երբ գնում եմ աշխատանքային գրքույկի մեկ այլ աշխատաթերթ, բազմընտրությունը անհետանում է: Երբ ես պահում եմ ֆայլը և վերադառնում այնտեղ, այն կաշխատի մեկ ներդիրի համար կոդով, բայց նորից, երբ ես սեղմում եմ կոդով մեկ այլ ներդիր, այն այլևս չի աշխատում: Կա՞ պատկերացում, թե ինչպես դա շտկել, այնպես որ, եթե ես սեղմեմ VBA կոդով աշխատաթերթի վրա, այն միշտ թույլ կտա բազմակի ընտրություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես տոտալ VBA Laie: Ich versuche den Code so zu modifizieren, dass
ա) die Mehrfachauswahl nicht in allen, sondern nur ein zwei Spalten aktiv ist.
բ) 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ällt mir auft, das): gehört.Beim aktuellen Code müsste ich Eingaben entfernen und neu auswählen):
Նախապես շնորհակալություն!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես չեմ կարող շարունակել բացվող ցուցակի բազմակի ընտրության ստեղծումը: Ես լսել եմ ձեռնարկ և կարդացել նյութ, բայց դեռ չեմ կարող ստեղծել: Խնդրում եմ, ինչ-որ մեկը կարո՞ղ է ինձ օգնել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես գիտեմ, որ սա կարող է լինել բոլորովին պատահական, բայց ես օգտագործում եմ VBA-ի տարբերակ առանց որևէ խնդրի: Բացառությամբ մեկ էջի, եթե ընտրեք առաջին երեք տարբերակները, այն ձեզ թույլ չի տա ընտրել չորրորդը: Այն թույլ կտա ձեզ ընտրել 5-րդ, 6-րդ և այլն, այլ ոչ թե 4-րդ տարբերակը: Մտքեր.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ռոբերտ,
Ես փորձարկել եմ կոդը, բայց չեմ գտել ձեր նշած խնդիրը: Կարո՞ղ եք ինձ ասել, թե Excel-ի որ տարբերակն եք օգտագործում: Շնորհակալություն մեկնաբանության համար։
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից