Խելացի ինքնալրացում ներքև և աջ

Բովանդակություն

Մինչ այժմ երբեմն ժպիտով հիշում եմ 10 տարի առաջվա իմ առաջին դաշտային կորպորատիվ դասընթացներից մեկը։

Պատկերացրեք՝ միջազգային FMCG ընկերության ներկայացուցչության բաց տիեզերական գրասենյակը՝ հսկայական ֆուտբոլի դաշտի չափ: Նրբաճաշակ դիզայն, թանկարժեք գրասենյակային սարքավորումներ, հագուստի կոդ, գաղթականները կուչ են գալիս անկյուններում – այսքանը 🙂 Հանդիպումների սենյակներից մեկում ես սկսում եմ երկօրյա խորացված ուսուցում Excel 2003-ի այն ժամանակվա ներկայիս տարբերակի վերաբերյալ տնտեսական բաժնի 15 հիմնական աշխատակիցների համար։ , իրենց առաջնորդի հետ միասին։ Ծանոթանում ենք, հարցնում եմ բիզնես առաջադրանքների, խնդիրների մասին, խնդրում եմ ցույց տալ մի քանի բնորոշ աշխատանքային ֆայլեր։ Նրանք ցույց են տալիս SAP-ից բեռնաթափման կիլոմետր երկարությունը, հաշվետվությունների թերթիկները, որոնք նրանք պատրաստում են դրա վերաբերյալ և այլն: Դե, դա ծանոթ բան է. Աչքիս ծայրով ես նկատում եմ, թե ինչպես մասնակիցներից մեկը, ցույց տալով իր զեկույցի մի հատվածը, համբերատարորեն ներքևի աջ անկյունում գտնվող սև խաչով մի քանի հազար տողով ներքև քաշում է բանաձևով բջիջը, ապա շրջանցում է վերջը. սեղանը թռչում է, հետ է քաշում այն ​​և այլն: Չդիմանալով, ես ընդհատում եմ նրան մկնիկը ոլորելով էկրանի շուրջը և ցույց տալիս կրկնակի սեղմում սև խաչի վրա՝ բացատրելով ինքնալրացման մասին մինչև վերջ: 

Հանկարծ հասկանում եմ, որ հանդիսատեսը կասկածելիորեն լռում է, և բոլորը տարօրինակ կերպով ինձ են նայում։ Ես աննկատ նայում եմ շուրջս, որտեղ կարող եմ՝ ամեն ինչ կարգին է, ձեռքերս ու ոտքերս տեղում են, ճանճս՝ կոճկված: Ես մտովի հետ եմ վերադառնում վերջին խոսքերս՝ փնտրելով ինչ-որ սարսափելի դրույթ՝ կարծես թե հանցավոր բան չկար։ Դրանից հետո խմբի ղեկավարը լուռ վեր է կենում, սեղմում ձեռքս և քարացած դեմքով ասում. «Շնորհակալություն, Նիկոլայ։ Այս դասընթացը կարող է ավարտվել:

Դե, մի խոսքով, պարզվեց, որ նրանցից ոչ ոք գաղափար չուներ սև խաչի վրա կրկնակի սեղմելու և ավտոմատ լրացման մասին: Պատմականորեն ինչ-որ կերպ պատահեց, որ չկար մեկը, ով ցույց տար նրանց այդքան պարզ, բայց անհրաժեշտ բան։ Ամբողջ բաժինը ձեռքով քաշեց բանաձևեր հազարավոր տողերի համար, խեղճ տղաներ: Եվ ահա ես եմ։ Նավթի տեսարան. Բաժնի պետն այնուհետ շատ խնդրեց իրենց ընկերության անունը ոչ մեկին չհայտնել 🙂

Հետագայում մի քանի անգամ նման իրավիճակներ եղան, բայց միայն առանձին ունկնդիրների դեպքում. այժմ մեծամասնությունը, իհարկե, գիտի այս գործառույթը: 

Խելացի ինքնալրացում ներքև և աջՀարցն այլ է. Նման հրաշալի հատկանիշը յուրացնելու առաջին ուրախությունից հետո օգտատերերի մեծամասնությունը հասկանում է, որ բանաձևերի ավտոմատ պատճենումը սև խաչի վրա կրկնակի սեղմելով (ավտոլրացման նշիչ) ունի բոլոր դրական և բացասական կողմերը.

  • Պատճենելը միշտ չէ, որ տեղի է ունենում աղյուսակի վերջում. Եթե ​​աղյուսակը միաձույլ չէ, այսինքն՝ հարակից սյունակներում դատարկ բջիջներ կան, ապա փաստ չէ, որ ավտոմատ լրացումը կաշխատի մինչև աղյուսակի վերջը։ Ամենայն հավանականությամբ, գործընթացը կկանգնի մոտակա դատարկ բջիջում՝ մինչև վերջ հասնելը: Եթե ​​սյունակի տակ ինչ-որ բանով զբաղեցված բջիջներ կան, ապա ավտոմատ լրացումը հենց դրանց վրա կդադարի:
  • Պատճենելիս բջիջների դիզայնը փչանում է, քանի որ Լռելյայնորեն պատճենվում է ոչ միայն բանաձևը, այլև ձևաչափը։ Ուղղելու համար սեղմեք պատճենման ընտրանքների կոճակը և ընտրեք Միայն արժեքներ (Լրացրեք առանց ձևաչափի).
  • Բանաձևը նաև հարմար կերպով ձգելու արագ միջոց չկա ոչ թե ներքև, այլ դեպի աջբացի ձեռքով քաշելուց: Սև խաչի վրա կրկնակի սեղմելը պարզապես ներքև է:

Փորձենք շտկել այս թերությունները պարզ մակրոյով։

Սեղմեք ստեղնաշարի դյուրանցումը ձախ Alt + F11 կամ կոճակ Visual Basic ականջակալ երեվակիչ (մշակող). Տեղադրեք նոր դատարկ մոդուլ մենյուի միջոցով Ներդիր – մոդուլ և պատճենեք այս մակրոների տեքստը այնտեղ.

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).CurrentRegion If rng.Cells.Count > 1 Ապա n = rng.Cells(1).Տող + rng.Տողեր: Count - ActiveCell.Row ActiveCell.AutoFill Նպատակակետ.=ActiveCell.Փոխել չափը(n, 1), Type:=xlFillValues ​​End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0).CurrentRegion Եթե rng.Cells.Count > 1 Այնուհետեւ n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Նպատակակետ:=ActiveCell.Փոխել չափը(1, n), Type: =xlFillValues ​​ավարտվում են, եթե վերջ ենթ  

Նման մակրոները.

  • կարող է լրացնել ոչ միայն ներքեւ (SmartFillDown), այլեւ աջ (SmartFillRight)
  • Մի փչացրեք ներքևում կամ աջ կողմում գտնվող բջիջների ձևաչափը. պատճենվում է միայն բանաձևը (արժեքը):
  • դատարկ հարակից բջիջներն անտեսվում են, և պատճենումը տեղի է ունենում հենց աղյուսակի վերջում, և ոչ տվյալների կամ առաջին զբաղեցրած բջիջի մոտակա բացը:

Ավելի մեծ հարմարության համար կարող եք ստեղնաշարի դյուրանցումներ նշանակել այս մակրոներին՝ օգտագործելով կոճակը Մակրոներ - Ընտրանքներ (Մակրոներ - Ընտրանքներ) հենց այնտեղ՝ ներդիրում: երեվակիչ (մշակող). Այժմ բավական կլինի մուտքագրել ցանկալի բանաձևը կամ արժեքը սյունակի առաջին բջիջում և սեղմել նշված ստեղնաշարի համակցությունը, որպեսզի մակրոները ավտոմատ կերպով լրացնեն ամբողջ սյունակը (կամ տողը).

Գեղեցկություն.

PS Բանաձևերը աղյուսակի վերջում պատճենելու խնդրի մի մասը լուծվել է Excel 2007-ում՝ «խելացի աղյուսակների» հայտնվելով: Ճիշտ է, դրանք միշտ և ոչ ամենուր տեղին են։ Իսկ դեպի աջ, Excel-ը երբեք չի սովորել ինքնուրույն պատճենել:

  • Ինչ են մակրոները, ինչպես օգտագործել դրանք, որտեղից ստանալ Visual Basic կոդը և որտեղ տեղադրել այն:
  • Խելացի աղյուսակներ Excel-ում 2007-2013 թթ
  • Պատճենել բանաձևերը առանց հղման հերթափոխի

Թողնել գրառում