Cuprins
Dacă lucrați cu Microsoft Excel de ceva timp, cunoașteți importanța AutoFill. Pentru a copia o formulă pe rând sau pe coloană, folosim această metodă. Acum, putem folosi această metodă manual cu ajutorul mouse-ului. Dar, dacă aveți un rând mare cu date, va fi dificil să copiați orice formulă pe ultimul rând sau pe ultima coloană. Puteți folosi codul VBA pentru AutoFill o formulă pe ultimul rând sau pe ultima coloană cuușurință.
În acest tutorial, veți învăța să completați automat o formulă pe ultimul rând în Excel folosind codurile VBA. Acest tutorial va fi la obiect cu exemple adecvate și ilustrații adecvate. Deci, rămâneți cu noi.
Descărcați caietul de practică
Formula de autocompletare la ultimul rând.xlsm
Ce este AutoFill în Excel?
Acum, completarea automată este o caracteristică încorporată în Microsoft Excel care permite utilizatorilor să completeze automat restul rândurilor sau coloanelor cu valori, formate sau formule. O puteți identifica atunci când duceți cursorul în colțul din dreapta jos al oricărei celule. Îl numim autofill handler al Excel.
Aruncați o privire la următoarea captură de ecran:
Aici, puteți vedea două numere. Vom completa restul rândurilor folosind completarea automată din Excel.
În primul rând, selectați intervalul de celule B5:B6. După aceea, veți vedea mânerul de autocompletare în colțul din dreapta jos.
Acum, trageți în jos acest mâner de autocompletare.
După cum puteți vedea, Excel a completat automat restul celulelor. Aceasta este utilizarea de bază a autocompletării în Excel.
Cum să utilizați AutoFill cu Excel VBA
Dacă aveți un număr mare de rânduri sau coloane într-un anumit interval, trebuie să trageți în jos mânerul de autocompletare până la ultimul rând sau coloană. Este un proces foarte agitat. Din fericire, îl puteți minimiza folosind codurile VBA din Excel. Puteți utiliza codul VBA pentru a completa automat celulele cu valori, formule sau formate.
Sintaxa generică:
Range.AutoFill Destination, Type
Aici,
Range("B5"): Celula care are modelul principal pentru a umple restul seriei.
Destinație: Intervalul de celule pe care doriți să le completați cu seria de modele.
Type ca xlAutoFillType: Tipul de umplere a seriei. Există diferite tipuri de umplere automată pe care le puteți alege.
Citește mai mult: Cum se utilizează VBA AutoFill în Excel
4 tipuri de autocompletare în Excel VBA
În această secțiune, voi discuta despre câteva dintre tipurile de autocompletare. Am văzut deja că putem alege orice tip de autocompletare folosind opțiunea xlAutoFillType. Vă prezint câteva exemple în acest sens.
1. xlFillDefault
Am văzut deja acest tip de autocompletare în exemplul anterior.
Aruncați o privire la captura de ecran:
Introduceți următorul cod VBA pentru a completa automat restul celulelor:
Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub
Acum, rulați macro VBA și după aceea veți vedea următoarele:
Se completează automat restul celulelor folosind macro VBA.
2. xlFillCopy
Pentru a copia aceleași valori, puteți folosi tipul xlFillCopy în tipul de autocompletare.
Aruncați o privire la captura de ecran:
Introduceți următorul cod VBA pentru a completa automat restul celulelor:
Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub
Acum, rulați macro VBA și după aceea veți vedea următoarele:
Excel completează restul celulelor cu același model de valori.
3. xlFillMonths
Puteți, de asemenea, să completați lunile folosind funcția xlFillMonths tipul de autocompletare.
Aruncați o privire la captura de ecran:
Aici, am introdus două luni: ianuarie și februarie.
Introduceți următorul cod VBA pentru a completa automat restul celulelor:
Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub
Acum, rulați macro VBA și după aceea veți vedea următoarele:
Excel înțelege automat modelele și le completează cu ele.
4. xlFillFormats
De asemenea, puteți copia formatele în alte celule folosind autocompletarea VBA. Pentru aceasta, trebuie să utilizați funcția xlFillFormats tipul de autocompletare.
Aruncați o privire la captura de ecran:
Aici, am umplut cele două celule cu câteva culori.
Acum, introduceți următorul cod VBA pentru a completa automat restul celulelor:
Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub
Acum, rulați macro VBA și după aceea veți vedea următoarele:
După cum puteți vedea, macroul nostru VBA utilizează completarea automată pentru a umple eficient rândurile din coloana B.
Citește mai mult: Cum să completați automat lunile în Excel
5 Exemple cu formula de completare automată a ultimului rând în Excel VBA
1. VBA pentru a completa automat o formulă la ultimul rând utilizat
În mod similar, puteți completa automat o formulă utilizând VBA. dacă ați citit secțiunile anterioare, puteți realiza cu ușurință acest lucru. Problema apare atunci când trebuie să completați automat formula până la ultimul rând. Trebuie să identificați mai întâi ultimul rând utilizat. După aceea, codul VBA le va completa automat.
Aruncați o privire la următorul set de date:
Aici, avem un set de date privind vânzările unor vânzători. Scopul nostru este de a adăuga vânzările din ianuarie și februarie la coloana Total. După aceea, vom utiliza metoda de autocompletare folosind VBA pentru ultimul rând utilizat în Excel.
Pentru a executa acest lucru, tastați următorul cod:
Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & last_row) End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row: Aceasta returnează ultimul rând utilizat din coloana B. Puteți alege orice coloană din setul de date.
Range("E5").Formula = "=SUM(C5:D5)": Se adaugă vânzările de Celula C5 și D5.
Range("E5").AutoFill Destination:=Range("E5:E" & last_row): După ce obținem rezultatul, folosim autocompletarea. Începe autocompletarea de la Celula E5 la ultimul rând utilizat pe care l-am obținut anterior.
Acum, rulați macro VBA. După aceea, veți vedea următoarea ieșire:
După cum puteți vedea, codul nostru VBA adaugă primul rezultat și formula de autocompletare la ultimul rând din Excel.
Citește mai mult: Cum să completați până la ultimul rând cu date în Excel
2. VBA Autocompletare automată de la ActiveCell la ultimul rând
Acum, dacă nu doriți să utilizați intervalul respectiv în metoda de autocompletare, puteți utiliza valorile, formulele sau formatele celulei active. Când faceți clic pe o celulă și doriți să completați automat restul rândurilor cu formula celulei active, utilizați această metodă.
Este similar cu exemplul anterior. Utilizăm setul de date anterior:
Acum, vom adăuga vânzările din ianuarie și februarie și vom completa automat formula pe ultimul rând folosind Excel VBA.
Acum, introduceți următorul cod:
Sub autofill_active_cell() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row ActiveCell.Formula = "=SUM(C5:D5)" ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row) End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row: Aceasta returnează ultimul rând utilizat din coloana B. Puteți alege orice coloană din setul de date.
ActiveCell.Formula = "=SUM(C5:D5)": Se adaugă vânzările de Celula C5 și D5 în celula selectată.
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): După ce obținem rezultatul, folosim funcția de autocompletare, care începe să se completeze automat de la celula activă până la ultimul rând utilizat pe care l-am obținut anterior.
Acum, selectați Celula E5 .
După aceea, rulați macro VBA pentru a adăuga formula și completarea automată la ultimul rând.
După cum puteți vedea, am folosit cu succes macro VBA pentru a completa automat formula până la ultimul rând.
Lecturi similare
- Cum să repetați rândurile de un număr specificat de ori în Excel (4 moduri)
- Numărați automat rândurile în Excel (8 metode)
- Cum să completați coloana în Excel cu aceeași valoare (9 trucuri)
- Aplicarea comenzii rapide de autocompletare în Excel (7 metode)
3. Autocompletarea automată la ultimul rând folosind Dynamic Range cu Excel VBA
Anterior, v-am arătat câteva macro VBA pentru a completa automat până la ultimul rând în Excel. Acum, în acele exemple, am folosit deja intervale dinamice.
Pentru a înțelege intervalele statice, aruncați o privire la următorul cod:
Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub
Practic, i-am spus lui Excel să introducă o formulă în Celula E5 și să o completați automat din Celula E5 la Celula E11 Aici am specificat intervalul. Dacă adăugați mai multe rânduri? În acest caz, VBA nu va completa automat aceste rânduri suplimentare, deoarece i-am spus deja să completeze automat un anumit interval.
Pentru a rezolva această problemă am găsit o soluție care poate lua o gamă dinamică:
Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & last_row) End Sub
După cum puteți vedea, găsim mai întâi ultimul rând prin această linie de cod:
last_row = Cells(Rows.Count, 2).End(xlUp).Row
După aceea, se completează automat până la ultimul rând folosind intervalul dinamic:
Range("E5").AutoFill Destination:=Range("E5:E" & last_row)
Indiferent de numărul de rânduri pe care le adăugați la setul de date, acest cod VBA va reuși să le identifice și le va completa automat cu formula.
Intervalul dinamic înseamnă practic că nu trebuie să introduceți manual intervalul. Excel îl va actualiza din când în când.
Citește mai mult: Excel VBA: Metoda de autocompletare a clasei Range a eșuat
4. Autocompletare la ultima coloană în Excel folosind VBA
Dacă ați citit secțiunile anterioare pentru a completa automat până la ultimul rând, atunci puteți completa automat până la ultima coloană cu ușurință. Trebuie doar să găsiți numărul ultimei coloane și să o completați automat cu Excel VBA.
Aruncați o privire la următorul set de date:
Aici, avem un set de date care reprezintă bugetul pe 3 luni al unei persoane. Acum, vom adăuga cheltuielile din toate lunile și vom completa automat formula în ultima coloană folosind Excel VBA.
Acum, introduceți următorul cod:
Sub last_used_column() Dim last_row As Long last_column = Cells(6, Columns.Count).End(xlToLeft).Column Range("D9").Formula = "=SUM(D6:D8)" Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column))) End Sub
last_column = Cells(6, Columns.Count).End(xlToLeft).Column: Acesta returnează ultima coloană utilizată din rândul 6. Puteți alege orice rând pentru a începe din setul de date.
Range("D9").Formula = "=SUM(D6:D8)": Se adaugă cheltuielile de trei luni (ianuarie, februarie, martie).
Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): După ce obținem rezultatul, folosim autocompletarea. Aici, rândul nostru principal este rândul numărul 9. Toate datele noastre vor fi în acest rând. Începe autocompletarea de la coloana D la ultima coloană utilizată, pe care am obținut-o anterior prin metoda ultima_coloană .
După ce executați macroul, veți vedea următoarea ieșire:
După cum puteți vedea, am folosit cu succes VBA pentru a completa automat formula în ultima coloană din Excel.
Citește mai mult: Cum să completați automat o coloană în Excel
5. Completarea automată a numerelor secvențiale la ultimul rând în Excel folosind VBA
Puteți, de asemenea, să completați automat numere secvențiale folosind autocompletarea în VBA. Aici, trebuie să utilizați xlFillSeries în tipul de autocompletare. Excel va înțelege modelul și le va completa cu el.
Aruncați o privire la următoarea captură de ecran:
Aici avem câteva nume. Și dorim să le dăm un ID într-o manieră secvențială. Pentru a face acest lucru, vom folosi VBA autofill.
Completarea automată a numerelor secvențiale cu interval static:
Sub sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub
După rularea codului, veți vedea rezultatul:
Dacă doriți să utilizați intervalul dinamic, utilizați următorul cod:
Sub sequential_number_1() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row: Se returnează ultimul rând utilizat din coloana B.
Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Acesta va lua ID-ul de Celula C5 și se completează automat la ultimul rând utilizat în coloana C folosind xlFillSeries ,
În ambele cazuri, veți obține același rezultat:
După cum puteți vedea, am folosit cu succes codul VBA pentru a completa automat numere secvențiale în Excel.
Citește mai mult: Formule Excel pentru a completa numerele de secvență în jos Sari rândurile ascunse
💬 Lucruri de reținut
✎ Puteți opriți completarea automată în diverse moduri, dacă nu vrei să o faci. .
✎ Nu puteți să completați automat mai multe rânduri și coloane simultan. Faceți-o una câte una.
Concluzie
În concluzie, sper că acest tutorial v-a oferit o parte din cunoștințele utile pentru a completa automat formula la ultimul rând folosind codurile VBA. Vă recomandăm să învățați și să aplicați toate aceste instrucțiuni la setul dvs. de date. Descărcați caietul de lucru de practică și încercați-le singur. De asemenea, nu ezitați să oferiți feedback în secțiunea de comentarii. Feedback-ul dvs. valoros ne menține motivați să creăm tutoriale precumasta.
Nu uitați să verificați site-ul nostru Exceldemy.com pentru diverse probleme și soluții legate de Excel.
Continuați să învățați noi metode și continuați să creșteți!