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

 Cum se completează automat formula atunci când se inserează rânduri în Excel?

Când inserați rânduri goale între rândurile de date existente, formula nu va copia și lipi în noul rând, ar trebui să o trageți sau să o completați manual. Dar, uneori, ați dori să completați formula atunci când inserați automat rânduri goale între intervalul de date, după cum se arată în următoarea captură de ecran, în acest articol, voi vorbi despre câteva trucuri rapide pentru a rezolva această sarcină.

formula de completare automată doc inserând rândul 1

Completați automat formula atunci când inserați rânduri goale cu crearea unui tabel

Formula de completare automată atunci când introduceți rânduri goale cu cod VBA


Completați automat formula atunci când inserați rânduri goale cu crearea unui tabel

În Excel, formatul Tabel vă poate ajuta să completați formula de mai sus în noile rânduri goale inserate automat, vă rugăm să faceți următoarele:

1. Selectați intervalul de date pe care doriți să îl completați automat, apoi faceți clic pe Insera > Tabel, vezi captura de ecran:

formula de completare automată doc inserând rândul 2

2. În Creați tabel dialog, verificați Masa mea are antete dacă există anteturi în datele dvs., consultați captura de ecran:

formula de completare automată doc inserând rândul 3

3. Apoi apasa OK , iar tabelul a fost creat și acum, când introduceți un rând gol, formula de mai sus va fi inserată automat în noul rând, vedeți captura de ecran:

formula de completare automată doc inserând rândul 4


Formula de completare automată atunci când introduceți rânduri goale cu cod VBA

Dacă nu vă place să schimbați datele în tabel, codul VBA de mai jos vă poate ajuta, de asemenea, să realizați această problemă.

1. Selectați fila Foaie de lucru care conține formulele pe care doriți să le completați automat și faceți clic dreapta pentru a alege Afișați codul din meniul contextual pentru a accesa Microsoft Visual Basic pentru aplicații , apoi copiați și lipiți următorul cod în modul:

Cod VBA: formula de completare automată atunci când introduceți rânduri goale

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice 20160725
    Cancel = True
    Target.Offset(1).EntireRow.Insert
    Target.EntireRow.Copy Target.Offset(1).EntireRow
    On Error Resume Next
    Target.Offset(1).EntireRow.SpecialCells(xlConstants).ClearContents
End Sub

formula de completare automată doc inserând rândul 5

2. Apoi salvați și închideți acest cod, reveniți la foaia de lucru, acum, când faceți dublu clic pe o celulă între date, un rând nou va fi inserat sub celula activă și formula este completată automat.


Demo: Formula de completare automată la introducerea rândurilor goale


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (13)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am urmat codul VBA menționat mai sus pentru xls-ul meu. Am un .xls cu mai multe foi în el, vreau să inserez un rând în foaia mea la început sau oricare dintre foi, de altfel, ar trebui să insereze automat un rând în toată foaia mea din aceeași foaie de lucru. De asemenea, fiecare dintre foile mele ca formule, prin urmare vreau în momentul în care are loc inserarea automată, formula rândului de mai sus ar trebui să fie completată automat în noul rând, ceea ce nu se întâmplă în totalitate dacă urmez codul VBA menționat, rândurile sunt inserate în toate foile mele apare și formula, dar lipsește un rând din ea. De exemplu. Am foaia A cu 100 de rânduri, foaia B cu 100 de ros și așa mai departe cu alte foi. Dacă inserez un rând în foaia A, arată inserarea automată în foaia B, dar valorile foii B ale unei coloane sunt legate de foaia A și în momentul în care inserez un rând, de exemplu 10, rândul 11 ​​este un rând nou și același rând 11 în foaia. Apare și B, dar valoarea pe care ar trebui să o tragă de pe rândul 11 ​​al foii A din coloana C, mai degrabă arată rândul 12 al foii A, acest lucru se întâmplă pe orice rând. Inserez valoarea în foaia B este întotdeauna de pe următorul rând și nu de același rând. pe care l-am introdus. O altă problemă care vine aici este cu prima mea coloană Sr. nu în momentul în care inserez un rând în 5, apare sr nr 6 cu un rând nou, dar înainte de asta aveam deja rândul 6 deoarece am o formulă pentru Sr. nr A6+ 1, deoarece coloana mea începe de la A6 și așa mai departe, deci cum să sortez această problemă cu 2 rânduri cu același sr. Nu. Aceasta este o foaie foarte importantă la care lucrez și trebuie să o rezolv, am arbitrat multe coduri VBA, dar niciunul nu este eficient. În speranța unei soluții adecvate la problema mea.
Acest comentariu a fost redus la minimum de moderatorul de pe site
dragă formulă de mai sus, care ajută la actualizarea formulei de mai sus la inserarea rândului prin dublu clic. Vreau să știu cum să folosesc acest cod permanent pentru că atunci când închid foaia și redeschid codul se termină. Vă rugăm să ajutați la rezolvarea problemei. Această formulă este foarte utilă pentru mine
Acest comentariu a fost redus la minimum de moderatorul de pe site
Solutie foarte usoara. Mulțumesc foarte mult.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Bilal. Trebuie să salvați fișierul ca fișier „Macro Enabled” pentru ca codul să funcționeze odată ce închideți și redeschideți fișierul. Pentru a salva fișierul ca macrocomandă, trebuie doar să utilizați „Salvare ca” și apoi selectați „Carte de lucru cu Excel-Macro activat” pentru a obține rezultatul dorit.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Formula de mai sus este foarte utilă pentru mine, vă rog să-mi spuneți cum să folosesc acest cod permanent
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest cod este foarte bun, dar nu actualizează referința celulei din primul rând următor după rândul inserat. Puteti ajuta va rog? ex.: 50 10 40 40 10 50 40 20 20
Acest comentariu a fost redus la minimum de moderatorul de pe site
Codul funcționează foarte bine, dar nu actualizează referința celulei din primul rând după rândul inserat. Vezi mai jos" de exemplu 50 10 40 40 10 50 40 20 20
Acest comentariu a fost redus la minimum de moderatorul de pe site
Funcționează metoda tabelului în excel pentru xp (2002) și dacă da, cum?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Folosesc codul pentru a insera o linie la dublu clic. Cu toate acestea, este ceva în neregulă, Excel nu incrementează prima referință din formula mea în următorul rând, ci într-un singur rând. Cu toate acestea, este corectat pentru toate rândurile rămase.
Am inserat o linie la rândul 144 și asta este ceea ce am primit: (notați că S144 din a treia linie ar trebui să fie S3)
row 144 =(S143+D144+E144)-(K144+L144+M144+N144+O144+Q144+R144)
row 145 =(S144+D145+E145)-(K145+L145+M145+N145+O145+Q145+R145)
row 146 =(S144+D146+E146)-(K146+L146+M146+N146+O146+Q146+R146)
row 147 =(S146+D147+E147)-(K147+L147+M147+N147+O147+Q147+R147)
Vreo indicii de ce face asta, nu cred că este VBA???
David
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,

Acest cod este foarte util, cu toate acestea, am o cerință puțin diferită. Formulele trebuie copiate atunci când rândul este introdus manual, adică prin „inserare rând”.
Vă rugăm să retrimiteți codul după încorporarea acestei modificări, adică în loc de „Worksheet_BeforeDoubleClick”, un alt punct de declanșare care să fie folosit „inserat row/etc”

Notă - Am vreo expunere la codificare din fundalul Conturi.


În ceea ce priveşte
Niket Shet
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Niket. Puteți vedea toate opțiunile pentru diferite puncte de declanșare în fila în sine.

Pentru aceasta, faceți clic pe CTRL + F11 pentru a deschide editorul de cod așa cum este explicat în videoclipul de mai sus și vor exista 2 meniuri derulante în partea de sus a codului pe care le-ați copia, faceți clic pe al doilea drop-down și puteți găsi multe opțiuni pentru diferite declanșatoare. puncte.

Primul dropdown ar fi setat în mod ideal la „Foaie de lucru”, iar al doilea ar fi setat la „BeforeDoubleClick”. Puteți modifica cel de-al doilea punct de declanșare după bunul plac și îl puteți utiliza în consecință.

Sper că vă ajută!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am avut aceeași întrebare ca Niket, așa că am încercat să mă uit la lista punctelor de declanșare din al doilea drop-down și nu văd nimic care să funcționeze clar ca Niket sau intenționez cu (selectare rând + clic dreapta + inserare funcționalitate rând) . Am încercat opțiunea „BeforeRightClick”, dar inserează doar un rând cu formule oricând dau clic dreapta pe o celulă, ceea ce cu siguranță nu este ceea ce căutam. Există undeva o resursă care să explice pentru ce poate fi folosit fiecare dintre declanșatori? Sau există o altă modalitate de a ajunge la această funcționalitate?

Multumesc!
Jeff
Acest comentariu a fost redus la minimum de moderatorul de pe site
O bucată simplă de cod excelentă!!!!
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL