Riempimentu automaticu intelligente in giù è à destra

cuntenutu

Finu à avà, qualchì volta cù un surrisu mi ricordu di unu di i mo primi furmazioni di l'impresa di campu 10 anni fà.

Imagine: l'uffiziu di u spaziu apertu di l'uffiziu di rappresentanza di una sucietà internaziunale di FMCG, enormu cum'è un campu di football. Disegnu chic, equipamentu d'uffiziu caru, codice di vestitu, espatriati chì sbuccianu in i cantoni - questu hè tuttu 🙂 In una di e sale di riunioni, cuminciu una furmazione avanzata di dui ghjorni nantu à a versione attuale di Excel 2003 per 15 impiegati chjave di u dipartimentu ecunomicu. , cù u so capu. Avemu cunnisciutu, li dumandu nantu à i travaglii di l'affari, i prublemi, li dumandu per vede parechji schedarii di travagliu tipicu. Mostranu a durata di u chilometru di scaricamentu da SAP, i fogli di rapporti chì facenu nantu à questu, etc. Eppo, hè una cosa familiar - I capisci mentalmente i temi è u timing, aghjustate à l'audienza. Fora di l'angulu di l'ochju, aghju nutatu cumu unu di i participanti, dimustrando un pezzu di u so rapportu, tira cù pacienza a cellula cù a formula da a croce negra in u cantonu in basso à destra per parechji milla linee, dopu salta a fine di a tavula nantu à a mosca, tira in daretu, etc. Incapace di stà, l'interrompu curling the mouse around the screen and show a double-click on the black cross, spieghendu circa l'autocumplementu finu à a fine. 

Di colpu mi capiscu chì u publicu hè sospettamente tranquillu è tutti mi fighjanu stranamente. Mi guardu imperceptibilmente intornu à mè induve possu - tuttu hè bè, i mo braccia è e gammi sò in u locu, a mo mosca hè abbottonata. Rewind mentalmente e mo ultime parolle in cerca di qualchì clause terribili - ùn ci era nunda di criminali, pare. Dopu à quessa, u capu di u gruppu si alza in silenziu, mi stringe a manu è dice cù una faccia di petra: "Grazie, Nikolai. Questa furmazione pò esse cumpletata.

Ebbè, in breve, hè risultatu chì nimu d'elli avia una idea di cliccà doppiu nantu à una croce negra è autocomplete. Hè accadutu in qualchì modu storicu chì ùn ci era nimu chì li mostrava una cosa cusì simplice ma necessaria. Tuttu u dipartimentu tirava formule manualmente per millaie di linee, poveri. È quì sò. Scena à l'oliu. U capu di u dipartimentu hà dumandatu assai di ùn revelà u nome di a so cumpagnia à nimu 🙂

Parechje volte dopu ci sò stati situazioni simili, ma solu cù l'ascultori individuali - a maiò parte avà, sicuru, cunnosce sta funzione. 

Riempimentu automaticu intelligente in giù è à destraA quistione hè differente. Dopu à a prima gioia di ammaistrà una funzione cusì maravigliosa, a maiò parte di l'utilizatori capiscenu chì a copia automatica di e formule clicchendu duie volte nantu à a croce nera (marcatore autocomplete) hà tutti l'aspettu pusitivu è negativu:

  • A copia ùn succede micca sempre à a fine di a tavula. Se a tavula ùn hè micca monolitica, vale à dì chì ci sò cellule vacanti in culonni adiacenti, ùn hè micca un fattu chì l'autocomplete hà da travaglià finu à a fine di a tavola. Probabilmente, u prucessu si ferma à a cellula viota più vicina prima di ghjunghje à a fine. Se ci sò cellule occupate da qualcosa sottu à a colonna, allora l'autocomplete si ferma nantu à elli esattamente.
  • Quandu copia u disignu di e cellule sguassate, perchè Per automaticamente, micca solu a formula hè copiata, ma ancu u furmatu. Per currezzione, cliccate nant'à u buttone d'opzioni di copia è selezziunate Solu i valori (Riempi senza furmatu).
  • Ùn ci hè micca un modu rapidu per stende ancu convenientemente a formula micca in giù ma a dirittaeccettu per tirà a manu. Doppiu cliccà nantu à a croce negra hè ghjustu.

Pruvemu di risolve questi difetti cù una macro simplice.

Preme a scurciatoia di u teclatu à sinistra Alt + F11 o buttone franese tecnicu Insignia documentaliste (Sviluppatore). Inserite un novu modulu viotu via menu Inserisce - Modulu è copià u testu di sti macros quì:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset (0, -1).CurrentRegion If rng.Cells.Count > 1 Allora n = rng.Cells(1).Row + rng.Rows. Count - ActiveCell.Row ActiveCell.AutoFill Destination:=ActiveCell.Resize(n, 1), Type:=xlFillValues ​​End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset (-1, 0).CurrentRegion If rng.Cells.Count > 1 Allora n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Destination:=ActiveCell.Resize(1, n), Type: =xlFillValues ​​End If End Sub  

Tali macros:

  • pò riempie micca solu in basso (SmartFillDown), ma ancu à destra (SmartFillRight)
  • ùn spoil u formatu di e cellule sottu o à a diritta - solu a formula (valore) hè copiatu
  • I celi vioti adiacenti sò ignorati è a copia si trova esattamente à a fine di a tavula, è micca à u spaziu più vicinu in i dati o a prima cellula occupata.

Per più comodità, pudete assignà scurciate di tastiera à queste macros usendu u buttone Macros - Opzioni (Macros - Opzioni) ghjustu quì nantu à a tabulazione. documentaliste (Sviluppatore). Avà basta à inserisce a formula o u valore desideratu in a prima cellula di a colonna è appughjà a combinazione di chjave specificata per a macro per riempie automaticamente tutta a colonna (o fila):

Bellezza.

PS Parte di u prublema cù e formule di cupià à a fine di a tavula hè stata risolta in Excel 2007 cù l'avventu di "tavule intelligenti". True, ùn sò micca sempre è micca in ogni locu adattatu. È à a diritta, Excel ùn hà mai amparatu à copià per sè stessu.

  • Chì sò i macros, cumu utilizà, induve uttene u codice Visual Basic è induve incollà.
  • Smart tables in Excel 2007-2013
  • Copia formule senza ligame

Lascia un Audiolibro