Plotësimi automatik i zgjuar poshtë dhe djathtas

Përmbajtje

Deri më tani, ndonjëherë me një buzëqeshje kujtoj një nga trajnimet e mia të para korporative në terren 10 vjet më parë.

Imagjinoni: zyrën e hapësirës së hapur të zyrës përfaqësuese të një kompanie ndërkombëtare FMCG, e madhe si një fushë futbolli. Dizajn elegant, pajisje të shtrenjta zyre, kodi i veshjes, emigrantët që gukatin nëpër qoshe – kjo është e gjitha 🙂 Në një nga dhomat e takimeve, unë filloj një trajnim dy-ditor të avancuar mbi versionin e atëhershëm aktual të Excel 2003 për 15 punonjës kryesorë të departamentit ekonomik , së bashku me liderin e tyre. Njihemi, i pyes për detyra biznesi, probleme, i kërkoj të tregojnë disa dosje tipike pune. Ata tregojnë gjatësinë kilometrike të shkarkimit nga SAP, fletët e raporteve që bëjnë për këtë, etj. Epo, është një gjë e njohur – i kuptoj mendërisht temat dhe kohën, përshtatem me audiencën. Me bisht të syrit, vërej se si njëri nga pjesëmarrësit, duke demonstruar një pjesë të raportit të tij, e tërheq me durim qelizën me formulën poshtë nga kryqi i zi në këndin e poshtëm djathtas për disa mijëra rreshta, më pas e kalon fundin e tavolina në fluturim, e tërheq mbrapa, etj. Në pamundësi për të duruar, e ndërpres duke rrotulluar miun rreth ekranit dhe tregoj një klikim të dyfishtë mbi kryqin e zi, duke shpjeguar për plotësimin automatik deri në fund. 

Papritur kuptoj se publiku është në mënyrë të dyshimtë i qetë dhe të gjithë po më shikojnë çuditërisht. Unë shikoj në mënyrë të padukshme rreth vetes kudo që të mundem - gjithçka është në rregull, krahët dhe këmbët e mia janë në vendin e tyre, miza ime është e mbyllur. Unë i kthej mendërisht fjalët e mia të fundit në kërkim të një klauzole të tmerrshme - nuk kishte asgjë kriminale, me sa duket. Pas kësaj, kreu i grupit ngrihet në heshtje, më shtrëngon dorën dhe më thotë me një fytyrë guri: "Faleminderit, Nikolai. Ky trajnim mund të kryhet.

Epo, me pak fjalë, doli që asnjëri prej tyre nuk kishte ide për klikimin e dyfishtë në një kryq të zi dhe plotësimin automatik. Historikisht ndodhi disi që nuk kishte kush t'u tregonte një gjë kaq të thjeshtë, por të nevojshme. I gjithë departamenti nxori formula manualisht për mijëra rreshta, të varfër. Dhe ja ku jam. Skena e naftës. Më pas, shefi i departamentit kërkoi shumë që të mos i zbulonte askujt emrin e kompanisë së tyre 🙂

Disa herë më vonë ka pasur situata të ngjashme, por vetëm me dëgjues individualë - shumica tani, natyrisht, e dinë këtë funksion. 

Plotësimi automatik i zgjuar poshtë dhe djathtasPyetja është e ndryshme. Pas gëzimit të parë të zotërimit të një veçorie kaq të mrekullueshme, shumica e përdoruesve kuptojnë se kopjimi automatik i formulave duke klikuar dy herë në kryqin e zi (shënues i plotësimit automatik) ka të gjitha aspektet pozitive dhe ato negative:

  • Kopjimi nuk ndodh gjithmonë deri në fund të tabelës. Nëse tabela nuk është monolit, pra ka qeliza boshe në kolonat ngjitur, atëherë nuk është fakt që plotësimi automatik do të funksionojë deri në fund të tabelës. Me shumë mundësi, procesi do të ndalojë në qelizën më të afërt të zbrazët përpara se të arrijë në fund. Nëse ka qeliza të zëna nga diçka poshtë kolonës, atëherë plotësimi automatik do të ndalojë saktësisht në to.
  • Gjatë kopjimit dizajni i qelizave prish, sepse Si parazgjedhje, jo vetëm formula kopjohet, por edhe formati. Për të korrigjuar, klikoni në butonin e opsioneve të kopjimit dhe zgjidhni Vetëm vlerat (Plotësoni pa format).
  • Nuk ka asnjë mënyrë të shpejtë për të shtrirë formulën me lehtësi jo poshtë por djathtaspërveç që të tërheqë me dorë. Klikimi i dyfishtë në kryqin e zi është vetëm poshtë.

Le të përpiqemi t'i rregullojmë këto mangësi me një makro të thjeshtë.

Shtypni shkurtoren e tastierës majtas Alt + F11 ose butoni Visual Basic tab zhvillues (Zhvilluesi). Fut modulin e ri bosh nëpërmjet menysë Insert – Moduli dhe kopjoni tekstin e këtyre makrove atje:

Nën SmartFillDown() Dim rng si diapazon, n Për sa kohë vendos rng = ActiveCell.Offset(0, -1).Rajoni aktual Nëse rng.Cells.Count > 1 Pastaj n = rng.Cells(1).Rresht + rng.Rreshta. Numërimi - ActiveCell.Row ActiveCell.AutoFill Destinacioni:=ActiveCell.Resize(n, 1), Lloji:=xlFillValues ​​Fundi If End Sub Sub SmartFillRight() Dim rng si varg, n Sa kohë të caktuar rng = ActiveCell.Offset(-1, 0).Rajoni aktual Nëse rng.Cells.Count > 1 Pastaj n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Destinacioni:=ActiveCell.Resize(1, n), Lloji: =xlFillValues ​​Përfundojnë Nëse Fundi Nën  

Makro të tilla:

  • mund të mbushet jo vetëm poshtë (SmartFillDown), por edhe në të djathtë (SmartFillRight)
  • mos e prishni formatin e qelizave poshtë ose djathtas - kopjohet vetëm formula (vlera).
  • qelizat e zbrazëta ngjitur injorohen dhe kopjimi ndodh pikërisht në fund të tabelës, dhe jo në boshllëkun më të afërt në të dhënat ose në qelizën e parë të zënë.

Për lehtësi më të madhe, mund të caktoni shkurtore të tastierës për këto makro duke përdorur butonin Makro - Opsione (Makro - Opsione) pikërisht atje në skedën. zhvillues (Zhvilluesi). Tani do të jetë e mjaftueshme për të futur formulën ose vlerën e dëshiruar në qelizën e parë të kolonës dhe shtypni kombinimin e specifikuar të tasteve që makro të mbushë automatikisht të gjithë kolonën (ose rreshtin):

Beauty.

PS Një pjesë e problemit me kopjimin e formulave në fund të tabelës u zgjidh në Excel 2007 me ardhjen e "tabelave të zgjuara". Vërtetë, ato nuk janë gjithmonë dhe jo kudo të përshtatshme. Dhe në të djathtë, Excel nuk mësoi kurrë të kopjojë vetë.

  • Çfarë janë makrot, si t'i përdorni ato, ku të merrni kodin e Visual Basic dhe ku ta ngjitni atë.
  • Tabelat inteligjente në Excel 2007-2013
  • Kopjoni formulat pa zhvendosje lidhjeje

Lini një Përgjigju