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

Ինչպե՞ս դատարկ փոխարեն ցուցադրել առաջին կետը բացվող ցուցակում:

doc բացվող ցուցակի լռելյայն վերև 1-ը

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

Տվյալների վավերացում գործառույթով դատարկի փոխարեն ցուցադրել առաջին կետը բացվող ցուցակում

VBA կոդով դատարկի փոխարեն ավտոմատ կերպով ցուցադրել առաջին կետը բացվող ցուցակում


նետ կապույտ աջ պղպջակ Տվյալների վավերացում գործառույթով դատարկի փոխարեն ցուցադրել առաջին կետը բացվող ցուցակում

Իրականում, այս աշխատանքին հասնելու համար պարզապես անհրաժեշտ է կիրառել որոշակի բանաձև, երբ ստեղծում ես բացվող ցուցակ, արա հետևյալը.

1, Ընտրեք այն բջիջները, որտեղ ցանկանում եք տեղադրել բացվող ցուցակը և կտտացնել Ամսաթիվ > Տվյալների վավերացում > Տվյալների վավերացում, տես նկարի նկարը.

doc բացվող ցուցակի լռելյայն վերև 2-ը

2, Դուրս ցցված Տվյալների վավերացում երկխոսության տուփ, տակ Կարգավորումներ էջանիշ, ընտրեք Ցուցակ - ից Թույլ տալ բաժնում, ապա մուտքագրեք այս բանաձևը. = ՕՖՍԵԹ (Sheet3! $ A 1,0,0 $, COUNTA (Sheet3! $ A: $ A) -1,1) մեջ Աղբյուր տեքստային տուփ, տես նկարի նկարը.

ՆշումԱյս բանաձևում Sheet3 աշխատաթերթը պարունակում է աղբյուրի տվյալների ցանկը, և A1 ցուցակում առաջին բջջային արժեքն է:

doc բացվող ցուցակի լռելյայն վերև 3-ը

3. Այնուհետեւ կտտացրեք OK կոճակը, հիմա, երբ կտտացնում ես բացվող ցուցակի բջիջները, տվյալների առաջին տարրը միշտ վերևում ցուցադրվում է, թե աղբյուրի տվյալների վերջում ջնջված են բջջային արժեքներ, տես նկարի նկարը.

doc բացվող ցուցակի լռելյայն վերև 4-ը


նետ կապույտ աջ պղպջակ VBA կոդով դատարկի փոխարեն ավտոմատ կերպով ցուցադրել առաջին կետը բացվող ցուցակում

Այստեղ ես կարող եմ նաև ներկայացնել VBA կոդ, որը կօգնի ձեզ տվյալների վավերացման բջիջները կտտացնելիս ինքնաբերաբար ցուցադրել բացվող ցուցակի առաջին կետը:

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

VBA կոդ. Բաց թողնվող ցուցակում ավտոմատ կերպով ցուցադրել տվյալների առաջին նյութը.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20160725
    Dim xFormula As String
    On Error GoTo Out:
    xFormula = Target.Cells(1).Validation.Formula1
    If Left(xFormula, 1) = "=" Then
        Target.Cells(1) = Range(Mid(xFormula, 1)).Cells(1).Value
    End If
Out:
End Sub

doc բացվող ցուցակի լռելյայն վերև 5-ը

2, Դրանից հետո պահեք և փակեք ծածկագրի պատուհանը, և այժմ, երբ կտտացրեք բացվող ցուցակի բջիջը, տվյալների առաջին տարրը միանգամից կցուցադրվի:


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (9)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ոլորելուց ներքև ընտրեք մինչև բջիջները, որ թվային տվյալները չեն գալիս շարքի, միայն առաջին բջիջի տվյալները գալիս են, ընտրեք 1,2 տարբեր բջիջներ և ոլորեք ներքև արժեքը, որը չի գալիս 1,2,3,4,5....... միայն առաջին բջիջի արժեքը գալիս է: 1,1,1,1,....
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
ընտրեք այն բջիջը, որտեղ տեղադրել եք ցուցակի տարրը
ցուցակի տարրի միջակայքը «Opleiding» է
ձեր VBA կոդում.

selection.Value = Range("opleiding"):Cells(2, 1)

արդյունքն այն է, որ listItem-ի ընտրված տարրը «Opleiding» տիրույթի երկրորդ կետն է:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ տվյալների վավերացման ցուցակ սահմանել այնպես, որ եթե բջիջի բացվող արժեքը ջնջվի, բջիջը ավտոմատ կերպով ցույց տա լռելյայն արժեքը (այսինքն՝ «-Select-»):

Օրինակ, ես ունեմ աշխատաթերթ մի քանի բացվող ցուցակներով, որը ցանկանում եմ ցույց տալ «-Select-»-ի լռելյայն արժեքը, երբ թերթը բացվի: Օգտագործողը ցուցակներից կընտրի արժեքներ, որոնք կազդեն հաշվարկների արդյունքի վրա ամբողջ աղյուսակում: Օգտագործողը կարող է պատահաբար «ջնջել» բջիջի պարունակությունը: Եթե ​​դա տեղի ունենա, այլ ոչ թե բջիջը դառնա դատարկ, ես ուզում եմ, որ բջիջը ցույց տա «-Select-»-ի լռելյայն արժեքը: Այս սցենարը տեղի է ունենում աղյուսակի մի քանի պատահական վայրերում, ոչ միայն մեկ տեղայնացված վայրում:

Մինչ այժմ ես կարողացա գտնել հետևյալ VBA կոդը, բայց ես միայն հասկացել եմ, թե ինչպես կիրառել հայեցակարգը մի տիրույթում, այլ ոչ թե պարզապես բջիջներ, որոնք պարունակում են բացվող ցուցակ: Մինչ այժմ իմ կոդավորվածի խնդիրն այն է, որ տիրույթի յուրաքանչյուր դատարկ բջիջ ավարտվում է «-Select-»-ով:

Option Explicit- ը

Private Sub Worksheet_Change (ByVal Target as Range)
Dim cel As Range
Եթե ​​Target.Cells.Count > 1 Ապա Ելք Ենթ
Եթե ​​խաչմերուկ չէ (Թիրախ, միջակայք («f2:p17»)) Ոչինչ է, ուրեմն
Տարածքում գտնվող յուրաքանչյուր բջիջի համար («f2:p17»)
Application.EnableEvents = False
Եթե ​​IsEmpty(cel.Value) Այնուհետեւ cel.Value = "-Select-"
Հաջորդ բջ
Վերջ: Եթե
Application.EnableEvents = Ճիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hello!

Ինչպե՞ս կարող եմ տվյալների վավերացման ցուցակ սահմանել այնպես, որ եթե բջիջի բացվող արժեքը ջնջվի, բջիջը ավտոմատ կերպով ցույց տա լռելյայն արժեք (այսինքն «-Select-»):

Օրինակ, ես ունեմ աշխատաթերթ մի քանի բացվող ցուցակներով, որը ցանկանում եմ ցույց տալ «-Select-»-ի լռելյայն արժեքը, երբ թերթը բացվի: Օգտագործողը ցուցակներից կընտրի արժեքներ, որոնք կազդեն հաշվարկների արդյունքի վրա ամբողջ աղյուսակում: Օգտագործողը կարող է պատահաբար «ջնջել» ցուցակների բջիջների բովանդակությունը: Եթե ​​դա տեղի ունենա, այլ ոչ թե բջիջը դառնա դատարկ, ես ուզում եմ, որ բջիջը ցույց տա «-Select-»-ի լռելյայն արժեքը: Այս սցենարը տեղի է ունենում աղյուսակի մի քանի պատահական վայրերում, ոչ միայն մեկ տեղայնացված վայրում:

Մինչ այժմ ես կարողացա գտնել հետևյալ VBA կոդը, բայց այն կիրառում է հայեցակարգը միայն մի տիրույթում, այլ ոչ թե միայն առանձին բջիջներ, որոնք պարունակում են բացվող ցուցակներ: Մինչ այժմ իմ կոդավորվածի խնդիրն այն է, որ տիրույթի յուրաքանչյուր դատարկ բջիջ ավարտվում է «-Select-»-ով: Ցանկերից մի քանիսը գտնվում են տիրույթներում, բայց որոշները նույնպես ցրված են թերթի վրա: Իմ ընթացիկ կոդի հետ կապված խնդիրն այն է, որ տիրույթի յուրաքանչյուր դատարկ բջիջ ավարտվում է «-Select-»-ով: Ես փորձում եմ այնպես անել, որ սա կիրառվի ամբողջ աշխատաթերթի վրա ՄԻԱՅՆ բջիջների վրա, որոնք բացվող ցուցակներ են:

Հնարավո՞ր է այն, ինչ ես փորձում եմ իրականացնել:

Օրինակ ֆայլը կարելի է գտնել այստեղ՝
https://drive.google.com/file/d/1VoO8VgFs3IJ0ALwqfk0i8gt69UE4vEKW/view?usp=sharing

Օրինակ կոդը:

Option Explicit- ը

Private Sub Worksheet_Change (ByVal Target as Range)
Dim cel As Range
Եթե ​​Target.Cells.Count > 1 Ապա Դուրս եկեք ենթաօրենսդրական դաշտից, սա անջատելը թույլ է տալիս միաժամանակ ընտրել և ջնջել բազմաթիվ բջիջներ
Եթե ​​խաչմերուկ չէ (Թիրախ, միջակայք («f2:p17»)) Ոչինչ է, ուրեմն
Տարածքում գտնվող յուրաքանչյուր բջիջի համար («f2:p17»)
Application.EnableEvents = False
Եթե ​​IsEmpty(cel.Value) Այնուհետեւ cel.Value = "-Select-"
Հաջորդ բջ
Վերջ: Եթե
Application.EnableEvents = Ճիշտ է
Վերջ Sub


Thanks in advance!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ մոտ չի ստացվում: Ես անընդհատ ստանում եմ սխալի հաղորդագրություն, որն ասում է. «Այս բանաձևի հետ կապված խնդիր կա: Չե՞ք փորձում բանաձև մուտքագրել: Երբ առաջին նիշը հավասար է (+) կամ մինուս (-) նշան, Exel-ը կարծում է, որ դա բանաձև է: Սա շրջանցելու համար նախ մուտքագրեք ապաստրոֆ (')..."
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կրկին, դուք փրկում եք օրը: Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ավելի լավ է, բայց ոչ այնքան: =OFFSET(Sheet3!$A$1,0,0,COUNTA(Sheet3!$A:$A)-1,1) մեթոդի օգտագործումը վերացնում է դատարկ տեղերը, բայց դեռևս ձեզ սկսում է շատ երկար ցուցակի վերջում: Ես ուզում եմ, որ այն սկսվի ցուցակի վերևից:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
VDA կոդի համար ինչպե՞ս կարող եմ միայն որոշակի բջիջների տիրույթ ցույց տալ առաջին տարրը բացվող ցուցակում: Նախապես շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Ակրուպա, Ձեր խնդիրը լուծելու համար միգուցե հետևյալ VBA կոդը կարող է օգնել ձեզ.

Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
― Թարմացնելով Extendoffice 20211206
Dim xFormula As String
Dim xRg որպես տիրույթ
Dim xStr Որպես տող
Dim xIndex-ը որպես ամբողջ թիվ
xIndex = 2 'Այստեղ ցույց է տալիս սկզբնական տվյալների բջիջի համարը, օրինակ, սկզբնական տվյալները A1:A10 են, A2 բջիջի արժեքը ցուցադրելու համար խնդրում ենք գրել 2 այստեղ:
Սխալի դեպքում GoTo Out.
xFormula = Target.Cells(1).Validation.Formula1
If Left(xFormula, 1) = "=" Ապա
Եթե ​​Target.Value <> "" Ապա Ելք Ենթ
xStr = Mid (xFormula, 2)
Սահմանել xRg = Application.Range (xStr)
Target.Cells(1) = xRg.Cells(xIndex).Value
Վերջ: Եթե
Out:
Վերջ Sub
Խնդրում եմ փորձեք, հուսով եմ, որ դա կարող է օգնել ձեզ:
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

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