Älykäs automaattinen täyttö alas ja oikealle

Sisällys

Tähän asti muistelen joskus hymyillen yhtä ensimmäisistä kenttäyrityskoulutuksistani 10 vuotta sitten.

Kuvittele: kansainvälisen FMCG-yrityksen edustuston avotoimisto, valtava kuin jalkapallokenttä. Tyylikästä muotoilua, kalliita toimistolaitteita, pukeutumiskoodia, ulkomaalaisten koukuttelua kulmissa – siinä kaikki 🙂 Yhdessä kokoushuoneessa aloitan kaksipäiväisen jatkokoulutuksen Excel 2003:n silloisesta nykyversiosta 15 talousosaston avainhenkilölle johtajansa kanssa. Tutustumme, kysyn heiltä yritystehtäviä, ongelmia, pyydän heitä näyttämään useita tyypillisiä työtiedostoja. Niistä näkyy SAP:n purkamisen kilometripituus, tästä tekemänsä raportit jne. No, se on tuttu juttu – keksin henkisesti aiheet ja ajoituksen, sopeudun yleisöön. Silmäni kulmasta huomaan, kuinka yksi osallistujista, esitellen osaa raportistaan, vetää kärsivällisesti solua, jossa on kaava, alas oikeassa alakulmassa olevan mustan ristin avulla useita tuhansia rivejä ja ohittaa sitten pöytä lennossa, vetää sitä taaksepäin jne. Kun en kestä sitä, keskeytän hänet kiertelemään hiirtä näytön ympäri ja näytän kaksoisnapsautuksen mustaa ristiä selittäen automaattisen täydennyksen pysähdykseen asti. 

Yhtäkkiä tajuan, että yleisö on epäilyttävän hiljainen ja kaikki katsovat minua oudosti. Katselen huomaamattomasti ympärilleni kaikkialla, missä voin – kaikki on kunnossa, käteni ja jalat paikoillaan, kärpäni napit kiinni. Pyöritän viimeisiä sanojani henkisesti taaksepäin etsiessäni jotain kauheaa lauseketta – ei näytä olevan mitään rikollista. Sen jälkeen ryhmän päällikkö nousee äänettömästi ylös, kättelee minua ja sanoo kivinaamalla: ”Kiitos, Nikolai. Tämä koulutus voidaan suorittaa loppuun.

Lyhyesti sanottuna kävi ilmi, että kenelläkään heistä ei ollut aavistustakaan mustan ristin kaksoisnapsauttamisesta ja automaattisesta täydennyksestä. Jotenkin tapahtui historiallisesti, että kukaan ei näyttänyt heille niin yksinkertaista mutta välttämätöntä asiaa. Koko osasto veti kaavoja manuaalisesti tuhansille riveille, huonot kaverit. Ja tässä minä olen. Öljy kohtaus. Osastonjohtaja pyysi sitten kovasti, ettei heidän yrityksensä nimeä paljastettaisi kenellekään 🙂

Useita kertoja myöhemmin oli samanlaisia ​​tilanteita, mutta vain yksittäisten kuuntelijoiden kanssa – useimmat nyt tietysti tietävät tämän toiminnon. 

Älykäs automaattinen täyttö alas ja oikealleKysymys on erilainen. Ensimmäisen tällaisen upean ominaisuuden hallitsemisen ilon jälkeen useimmat käyttäjät ymmärtävät, että kaavojen automaattinen kopiointi kaksoisnapsauttamalla mustaa ristiä (automaattisen täydennysmerkki) sisältää kaikki positiiviset ja negatiiviset puolet:

  • Kopiointi ei aina tapahdu taulukon loppuun. Jos taulukko ei ole monoliittinen, eli vierekkäisissä sarakkeissa on tyhjiä soluja, ei ole tosiasia, että automaattinen täydennys toimii taulukon loppuun asti. Todennäköisesti prosessi pysähtyy lähimpään tyhjään soluun ennen loppuaan. Jos sarakkeen alapuolella on soluja, jotka ovat täynnä, automaattinen täydennys pysähtyy juuri niihin.
  • Kun kopioidaan solujen suunnittelu pilaantuu, koska Oletusarvoisesti ei kopioida vain kaavaa, vaan myös muotoa. Korjaa napsauttamalla kopiointiasetukset-painiketta ja valitsemalla Vain arvot (Täytä ilman muotoa).
  • Ei ole nopeaa tapaa venyttää kaavaa kätevästi ei alas vaan oikeallepaitsi vetää käsin. Mustan ristin kaksoisnapsauttaminen on juuri alaspäin.

Yritetään korjata nämä puutteet yksinkertaisella makrolla.

Paina pikanäppäintä vasemmalle Alt + F11 tai painiketta Visual Basic kieleke kehittäjä (Kehittäjä). Lisää uusi tyhjä moduuli valikon kautta Insert – moduuli ja kopioi näiden makrojen teksti sinne:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).Nykyinen Alue Jos rng.Cells.Count > 1 Sitten n = rng.Cells(1).Row + rng.Rows. Count - ActiveCell.Row ActiveCell.AutoFill Destination:=ActiveCell.Resize(n, 1), Tyyppi:=xlTäyttöarvot End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0).CurrentRegion Jos rng.Cells.Count > 1 Sitten n = rng.Cells(1).Sarake + rng.Sarakkeet.Laskuri - ActiveCell.Column ActiveCell.AutoFill Destination:=ActiveCell.Resize(1, n), Tyyppi: =xlFillValues ​​End If End Sub  

Tällaisia ​​makroja:

  • voi täyttää paitsi alaspäin (SmartFillDown), myös oikealle (SmartFillRight)
  • Älä pilaa alla tai oikealla olevien solujen muotoa – vain kaava (arvo) kopioidaan
  • tyhjät vierekkäiset solut jätetään huomioimatta ja kopiointi tapahtuu täsmälleen taulukon loppuun, ei lähimpään datan aukkoon tai ensimmäiseen varattuun soluun.

Käyttömukavuuden lisäämiseksi voit määrittää näihin makroihin pikanäppäimiä -painikkeella Makrot – Asetukset (Makrot — Asetukset) siellä välilehdellä. kehittäjä (Kehittäjä). Nyt riittää, että syötät halutun kaavan tai arvon sarakkeen ensimmäiseen soluun ja painat määritettyä näppäinyhdistelmää, jotta makro täyttää automaattisesti koko sarakkeen (tai rivin):

Kauneus.

PS Osa ongelmasta, joka liittyy kaavojen kopioimiseen taulukon loppuun, ratkesi Excel 2007:ssä "älykkäiden taulukoiden" myötä. Totta, ne eivät ole aina eivätkä kaikkialla sopivia. Ja oikealla, Excel ei koskaan oppinut kopioimaan itsestään.

  • Mitä makrot ovat, miten niitä käytetään, mistä saa Visual Basic -koodin ja minne se liitetään.
  • Älykkäät taulukot Excelissä 2007-2013
  • Kopioi kaavat ilman linkin siirtoa

Jätä vastaus