VBA UsedRange - Cum se găsește numărul de rânduri și coloane utilizate?

UsedRange, așa cum sugerează și numele, sunt intervalele care, ca un fel de valori în ele, celulele goale nu sunt incluse în intervalele utilizate, deci în VBA Intervalele utilizate este proprietatea obiectului de interval din VBA pentru acele zone de celule din rânduri și coloane care nu sunt goale și au câteva valori în ele.

UsedRange în VBA Excel

UsedRange în VBA este o proprietate a foii de lucru care returnează un obiect de interval care reprezintă intervalul utilizat (toate celulele Excel utilizate sau completate într-o foaie de lucru) pe o anumită foaie de lucru. Este o proprietate care reprezintă zona acoperită sau delimitată de celula uzată din stânga sus și ultima celulă utilizată din dreapta dintr-o foaie de lucru.

Putem descrie „Celulă utilizată” ca o celulă care conține orice formulă, formatare, valoare etc. Putem selecta și ultima celulă utilizată apăsând tastele CTRL + END de pe tastatură.

Următoarea este o ilustrație a UsedRange într-o foaie de lucru:

Putem vedea în captura de ecran de mai sus că UsedRange este A1: D5.

Exemple de proprietăți Excel VBA UsedRange

Să ne uităm la câteva exemple de mai jos pentru a vedea cum proprietatea UsedRange dintr-o foaie de lucru poate fi utilizată pentru a găsi intervalul utilizat în VBA:

Exemplul nr. 1

Să spunem că avem un fișier Excel care conține două foi de lucru și dorim să găsim și să selectăm intervalul folosit pe Sheet1.

Să vedem ce conține Sheet1:

Folosim proprietatea UsedRange din fereastra VBA Immediate pentru a realiza această sarcină. Fereastra imediată VBA este un instrument care vă ajută să obțineți informații despre fișierele Excel, să executați rapid sau să depanați orice cod VBA, chiar dacă utilizatorul nu scrie niciun macro. Se află în Editorul Visual Basic și poate fi accesat după cum urmează:

  • Mergeți la fila Dezvoltator Excel, apoi faceți clic pe Visual Basic Editor sau apăsați Alt + F11 pentru a deschide fereastra Visual Basic Editor.

La aceasta, se deschide o fereastră după cum urmează:

  • Apăsați Ctrl + G pentru a deschide fereastra imediată și tastați codul.

Fereastra imediată arată ca:

  • Următorul cod va selecta intervalul utilizat pe Sheet1.

Cod:

? Foi de lucru („Sheet1”). Activați True? ActiveSheet.UsedRange.Select True

Prima instrucțiune a codului va activa Foaia 1 a fișierului, iar a doua instrucțiune va selecta intervalul utilizat în acea foaie activă.

La scrierea acestui cod, vedem că intervalul utilizat în Sheet1 este selectat după cum urmează:

Exemplul nr. 2

Acum, să presupunem că în acest exemplu, dorim să găsim numărul total de rânduri utilizate în Sheet1.Pentru a face acest lucru, urmăm pașii de mai jos:

  • Creați un nume de macro în modul.

Cod:

Sub TotalRows () End Sub
  • Definiți variabila TotalRow ca întreg în VBA:

Cod:

Sub TotalRows () Dim TotalRow As Integer End Sub
  • Acum atribuiți variabila TotalRow cu formula pentru a calcula un număr total de rânduri:

Cod:

Sub TotalRows () Dim TotalRow As Inger TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub
  • Acum, valoarea rezultată a TotalRow poate fi afișată și returnată folosind o casetă de mesaj VBA (MsgBox) după cum urmează:

Cod:

Sub TotalRows () Dim TotalRow As Inger TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub
  • Acum rulăm acest cod manual sau apăsând F5 și obținem numărul total de rânduri utilizate în Sheet1 afișate într-o Casetă de mesaje după cum urmează:

Deci, putem vedea în captura de ecran de mai sus că „5” este returnat în caseta de mesaj și, așa cum putem vedea în Foaia 1, numărul total de rânduri din intervalul utilizat este 5.

Exemplul nr. 3

În mod similar, dacă dorim să găsim numărul total de coloane utilizate în Sheet1, vom urma aceiași pași ca mai sus, cu excepția unei ușoare modificări a codului după cum urmează:

Cod:

Sub TotalCols () Dim TotalCol As Integer TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub

Acum, când rulăm acest cod manual sau apăsând F5, obținem numărul total de coloane utilizate în Sheet1 afișate într-o Casetă de mesaje, după cum urmează:

Deci, „4” este returnat în caseta de mesaj și, după cum putem vedea în Foaia 1, numărul total de coloane din intervalul utilizat este 4.

Exemplul # 4

Acum, să presupunem că dorim să găsim ultimul rând folosit și numărul coloanei în Foaia 2 a fișierului. Să vedem ce conține Sheet2:

Pentru a face acest lucru, urmăm pașii de mai jos:

  • Creați un nume de macro în modul.

Cod:

Sub LastRow () End Sub
  • Definiți variabila LastRow ca întreg.

Cod:

Sub LastRow () Dim LastRow Ca Integer End Sub
  • Acum atribuiți variabila LastRow cu formula pentru a calcula ultimul număr de rând utilizat:

Cod:

Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row End Sub

Metoda SpecialCells în Excel VBA returnează un obiect de interval care reprezintă doar tipurile de celule specificate. Sintaxa pentru metoda SpecialCells este:

RangeObject.SpecialCells (tip, valoare)

În codul de mai sus, xlCellTypeLastCell: reprezintă ultima celulă din intervalul utilizat.

Notă: „xlCellType” va include chiar și celule goale care au avut formatul implicit al oricărei celule modificate.
  • Acum, valoarea rezultată a numărului LastRow poate fi afișată și returnată folosind o casetă de mesaj (MsgBox) după cum urmează:

Cod:

Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub
  • Acum rulăm acest cod manual sau apăsând F5 și obținem ultimul număr de rând folosit în Sheet2 afișat într-o Casetă de mesaje după cum urmează:

Deci, putem vedea în captura de ecran de mai sus că „12” este returnat în caseta de mesaj și, după cum putem vedea în Foaia 2, ultimul număr de rând utilizat este 12.

În mod similar, dacă dorim să găsim ultimul număr de coloană folosit în Sheet2, vom urma aceiași pași ca mai sus, cu excepția unei ușoare modificări a codului după cum urmează:

Cod:

Sub LastCol () Dim LastCol As Integer LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Column MsgBox LastCol End Sub

Acum, când rulăm acest cod manual sau apăsând F5, obținem ultimul număr de coloană folosit în Sheet2 afișat într-o Casetă de mesaje după cum urmează:

Deci, putem vedea în captura de ecran de mai sus că „3” este returnat în caseta de mesaj și, după cum putem vedea în Foaia 2, ultimul număr de coloană utilizat este 3.

Lucruri de reținut despre VBA UsedRange

  • VBA UsedRange este un interval dreptunghiular.
  • VBA UsedRange include celule care au orice date sau sunt formatate etc.
  • Excel VBA UsedRange nu include neapărat celula din stânga sus a foii de lucru.
  • UsedRange nu consideră neapărat celula activă ca fiind utilizată.
  • UsedRange poate fi folosit pentru a găsi ultimul rând folosit în VBA și pentru a reseta gama utilizată etc.
  • Apăsarea tastei Excel CTRL + SHIFT + ENTER de pe tastatură poate fi utilizată pentru a extinde selecția de la o celulă activă la ultima celulă utilizată pe o foaie de lucru.

Articole interesante...