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

Ինչպե՞ս պատճենել որոնման վանդակի աղբյուրի ձևաչափումը, Excel- ում Vlookup- ի օգտագործման ժամանակ:

Նախորդ հոդվածներում մենք խոսեցինք ֆոնի գույնը Excel- ում vlookup- ի արժեքները պահելու մասին: Այս հոդվածում մենք կներկայացնենք ստացված բջիջի բոլոր բջիջների ձևաչափումը պատճենելու մեթոդ `Excel- ում Vlookup անելիս: Խնդրում եմ արեք հետևյալ կերպ.

Պատճենեք աղբյուրի ձևավորումը Excel- ում Vlookup- ն օգտագործելիս օգտագործողի կողմից սահմանված գործառույթով


Պատճենեք աղբյուրի ձևավորումը Excel- ում Vlookup- ն օգտագործելիս օգտագործողի կողմից սահմանված գործառույթով

Ենթադրելով, որ դուք ունեք սեղան, ինչպես ցույց է տրված էկրանի նկարը: Այժմ անհրաժեշտ է ստուգել, ​​արդյոք նշված արժեքը (սյունակում E) A սյունակում է և վերադարձնել համապատասխան արժեքը C սյունակում ձևաչափմամբ, դրան հասնելու համար արեք հետևյալը.

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

2. Բացման մեջ Microsoft Visual Basic հավելվածների համար պատուհան, խնդրում ենք պատճենել ներքևում գտնվող VBA կոդը օրենսգրքի պատուհանում:

VBA կոդ 1. Vlookup և վերադարձի արժեք ՝ ձևաչափմամբ

Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20211203
    Dim I As Long
    Dim xKeys As Long
    Dim xDicStr As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    xKeys = UBound(xDic.Keys)
    If xKeys >= 0 Then
        For I = 0 To UBound(xDic.Keys)
            xDicStr = xDic.Items(I)
            If xDicStr <> "" Then
                Set xRg = Application.Range(xDicStr)
                xRg.Copy
                Range(xDic.Keys(I)).PasteSpecial xlPasteFormats
            Else
                Range(xDic.Keys(I)).Interior.Color = xlNone
            End If
        Next
        Set xDic = Nothing
    End If
    Application.ScreenUpdating = True
    Application.CutCopyMode = True
End Sub

3. Այնուհետեւ կտտացրեք Տեղադրել > Մոդուլներև պատճենեք ներքևում նշված VBA կոդը 2 Մոդուլի պատուհանում:

VBA կոդ 2. Vlookup և վերադարձի արժեք ՝ ձևաչափմամբ

Public xDic As New Dictionary
'Update by Extendoffice 20211203
Function LookupKeepFormat(ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
    Dim xFindCell As Range
    On Error Resume Next
    Application.ScreenUpdating = False
    Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
    If xFindCell Is Nothing Then
        LookupKeepFormat = " "
        xDic.Add Application.Caller.Address, " "
    Else
        LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
        xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address(External:=True)
    End If
    Application.ScreenUpdating = True
End Function

4: սեղմեք Գործիքներ > Սայլակ, Ապա ստուգեք Microsoft Script Runtime տուփի մեջ Հղումներ - VBAP նախագիծ երկխոսության տուփ: Տեսեք,

5. Սեղմեք ալտ + Q ստեղները դուրս գալու համար Microsoft Visual Basic հավելվածների համար պատուհան.

6. Ընտրեք որոնման արժեքին կից դատարկ բջիջ, ապա մուտքագրեք բանաձև =LookupKeepFormat(E2,$A$1:$C$8,3) մեջ Ֆորմուլա Բար, ապա սեղմել կոճակը Մտնել բանալի.

ՆշումԲանաձևում, E2 պարունակում է այն արժեքը, որը դուք կգտնեք, $ A $ 1: $ C $ 8 աղյուսակի տիրույթն է և համարը 3 նշանակում է, որ համապատասխան արժեքը, որը դուք կվերադարձնեք, տեղակայված է աղյուսակի երրորդ սյունակում: Խնդրում ենք փոխել դրանք, ինչպես ձեզ հարկավոր է:

7. Շարունակեք ընտրել առաջին արդյունքի բջիջը, այնուհետև քաշեք Լրացրեք բռնակը ներքև, որպեսզի ստանաք բոլոր արդյունքները դրանց ձևաչափման հետ միասին, ինչպես ցույց է տրված ստորև նշված էկրանի նկարը:


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


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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (42)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
դա ինձ տալիս է Կազմման սխալ, շարահյուսական սխալ

խնդրում ենք օգնել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Լավ օր,
Կոդը թարմացվել է հոդվածում։ Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես նույնպես ստացա կոմպիլյատորի սխալ:
Այն կուղղվի, եթե փոխեք հետևյալ փոփոխականը փաստացի «»-ով: Ոչ ';' մեջտեղում.
LookupKeepFormat = " "
xDic.Add Application.Caller.Address, " "
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Կներեք սխալի համար, կոդը թարմացվել է հոդվածում։
« » սխալը պետք է լինի երկու չակերտ: Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ստացա նույն սխալը:

Դուք ստիպված կլինեք փոխել " " փաստացի "', առանց ";'-ի: ինչպես նշված է ստորև
LookupKeepFormat = " "
xDic.Add Application.Caller.Address, " "

LookupKeepFormat = ""
xDic.Add Application.Caller.Address ""
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Կներեք սխալի համար, կոդը թարմացվել է հոդվածում։ Շնորհակալություն կիսվելու համար.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի է, շնորհակալություն: Միակ խնդիրն այն է, որ ես գտնում եմ, որ այն լավ է աշխատում, եթե ես փնտրում եմ նույն թերթիկում, բայց չեմ կարողանում այն ​​գործի դնել, երբ փորձում եմ առանձին թերթում փնտրել աղբյուրի տվյալները: Կշարունակի փորձել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ջուլիա, ուղղիր այս տողերը.
Գործառույթի LookupKeepFormat-ում.
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1):Address & "|" & LookupRng.Parent.Name

Sub Worksheet_Change-ում.
Թերթեր(Split(xDic.Items(I), "|")(1)).Range(Split(xDic.Items(I), "|")(0)).Պատճենել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հեյ Հյուգո,


Ես նույն խնդիրն ունեմ, ինչ Ջուլիան։ Այն չի աշխատում այլ թերթիկների վրա: Կարո՞ղ եք օգնել կոդ գրել ամբողջ ֆունկցիայի և ենթաթերթի համար: Ես վստահ չեմ, թե որտեղ փոխարինեմ/տեղադրեմ xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1):Address & "|" & LookupRng.Parent.Nam and Sheets(Split(xDic.Items(I), "|")(1)).Range(Split(xDic.Items(I), "|")(0)).Պատճենել


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

Կրկին շնորհակալություն, լավ օր :)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն


Ես փորձել եմ օգտագործել կոդը, սակայն սխալ եմ ստանում կից նկարում: Ցանկացած օգնություն մեծապես կգնահատվի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Կներեք սխալի համար, կոդը թարմացվել է հոդվածում։ Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,

Ես սխալներ չեմ ստանում, և այն կատարում է որոնում, բայց քանի որ իմ որոնման արժեքը գտնվում է մեկ այլ աշխատաթերթում (ավելի հավանական սցենար), այն չի քաշում ձևաչափումը: Կա՞ կսմթել կոդը, որը ես կարող եմ դրա համար անել: (Շատ կոնկրետ եղեք, թե որտեղ պետք է կատարվի փոփոխությունը, քանի որ ես կոդավորման սկսնակ եմ) Շնորհակալություն: Ես ուրախ եմ ավելացնել այս հատկությունը իմ աղյուսակներից մեկում!!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, հաջողություն այս հարցում, ինչպե՞ս կարող ենք ձևաչափումը փնտրել թերթերում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Նաև փնտրում է կսմթել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բացի այդ, եթե ես ձեր բանաձևը ավելացնեմ որպես «Եթե» հայտարարության մաս (տես ստորև), այն ձևաչափում է բջիջը այնպես, ինչպես ուզում է LOL (կամ գոնե այդպես է թվում: Մեկ բջիջում տեքստը ստվերում և թավ է դառնում վերևի եզրագծով: բջիջ; մեկ այլ բջիջ, տեքստը կենտրոնացած)


=IF($F19 = "", "",LookupKeepFormat(F19,'Item #s'!$A$1:$M$1226,2))
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձեցի այս մեկը և այն մեկը, որը քաշում է միայն գունավոր ֆոն և ստանում եմ նույն սխալը: Կազմելու սխալ. Հայտնաբերվել է երկիմաստ անուն: Ես սեղմում եմ OK և այն կարևորում է xDic-ը: Կա՞ն առաջարկներ: Ես այս ամենին շատ ծանոթ չեմ, ուստի խնդրում եմ օգնեք/բացատրեք :) նախապես շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Ջենի,
Մի մոռացեք միացնել Microsoft Script Runtime տարբերակը, ինչպես նշված է 4-րդ քայլում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ. Ես ստեղծեցի դատարկ աղյուսակ և կրկնօրինակեցի ձեր օրինակը Excel 2013-ում, բայց շարունակեք ստանալ Compile սխալ. Syntax error և Dim I As Long ընդգծված է: Ինչ-որ բան կա՞, որ ես բացակայում եմ: Ես կցանկանայի, որ սա աշխատի: Շնորհակալություն.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Լաուրա,
Մի մոռացեք միացնել Microsoft Script Runtime տարբերակը, ինչպես նշված է 4-րդ քայլում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես օգտագործել եմ վերը նշված կոդը Excel 2010-ում՝ մինչ օրս առանց խնդիրների: Այնուամենայնիվ, ես վերջերս թարմացվեցի Office 2016-ի, և այժմ կոդը խափանում է Excel-ը ամեն անգամ, երբ փորձում եմ մեկից ավելի տող լրացնել: Ցավոք, դա ինձ այլ սխալ չի տալիս, քան «Microsoft Excel-ը դադարել է աշխատել»: Ես մտածում էի, թե արդյոք նախկինում հանդիպել եք այս խնդրին, և արդյոք ինչ-որ բան պետք է անեմ, որպեսզի այն աշխատի 2016 թվականին: Շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Լի,
Կոդը լավ է աշխատում իմ Excel 2016-ում: Մենք փորձում ենք թարմացնել կոդը՝ խնդիրը լուծելու համար: Շնորհակալություն մեկնաբանության համար։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, շնորհակալություն կոդի համար: Ես ոչ մի սխալի հաղորդագրություն չեմ ստանում, բայց բանաձևն աշխատում է միայն ինչպես նորմալ vlookup-ը: Խնդրում եմ, կարո՞ղ եք օգնել: Շնորհակալություն ձեր ժամանակի համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ

Ես ճիշտ նույն խնդիրն ունեմ, դուք հասկացե՞լ եք, թե ինչպես լուծել այն:

Thanks!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես ստացել եմ սխալ «կազմելու սխալ. Հայտնաբերվել է երկիմաստ անուն. xDic
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես ստացել եմ սխալ «կազմելու սխալ. Հայտնաբերվել է երկիմաստ անուն. xDic
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, ես նոր եմ օգտագործել VBA-ն և փորձել եմ օգտագործել այս կոդը իմ աղյուսակում, բայց Rec2 ներդիրի տեքստի ձևաչափումը չի անցնում Rec ներդիրին, երբ որոնումն օգտագործվում է: Ցանկացած օգնություն մեծապես գնահատելի կլինի: Շնորհակալություն Pat
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ահա ֆայլը և նկարը
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ստանում եմ նույն Անվանման երկիմաստ սխալը. որևէ մեկին հաջողվե՞լ է լուծել այն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ստանում եմ նույն Անվանման երկիմաստ սխալը. որևէ մեկին հաջողվե՞լ է լուծել այն:
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր

Հետեւեք մեզ

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