VBA Lietotais diapazons | Kā atrast izmantoto rindu un kolonnu skaitu?

Lietotie diapazoni, kā norāda nosaukums, ir diapazoni, kas kā kaut kāda veida vērtības tajos tukšās šūnas netiek iekļautas izmantotajos diapazonos, tāpēc VBA izmantotie diapazoni ir VBA diapazona objekta īpašums šiem šūnu diapazoniem rindas un kolonnas, kas nav tukšas un kurās ir dažas vērtības.

Lietotais diapazons VBA Excel

Lietotais diapazons VBA ir darblapas rekvizīts, kas atgriež diapazona objektu, kas apzīmē izmantoto diapazonu (visas izmantotās Excel šūnas vai aizpildītas darblapā) konkrētā darblapā. Tas ir rekvizīts, kas apzīmē laukumu, ko darblapā klāj vai ierobežo augšējā kreisajā pusē izmantotās šūnas un pēdējās labās šūnas.

“Lietoto šūnu” mēs varam raksturot kā šūnu, kurā ir jebkura formula, formatējums, vērtība utt. Mēs varam atlasīt arī pēdējo izmantoto šūnu, nospiežot tastatūras taustiņus CTRL + END.

Tālāk ir izmantota darblapas UsedRange ilustrācija:

Iepriekš redzamajā ekrānuzņēmumā mēs varam redzēt, ka UsedRange ir A1: D5.

Excel VBA UsedRange Property piemēri

Apskatīsim dažus tālāk minētos piemērus, lai redzētu, kā darblapā izmantoto rekvizītu UsedRange var izmantot, lai atrastu VBA izmantoto diapazonu:

Šo VBA UsedRange Excel veidni varat lejupielādēt šeit - VBA UsedRange Excel veidne

1. piemērs

Pieņemsim, ka mums ir Excel fails, kurā ir divas darblapas, un mēs vēlamies atrast un atlasīt izmantoto diapazonu Sheet1.

Apskatīsim, ko satur 1. lapa:

Šī uzdevuma veikšanai mēs izmantojam rekvizītu UsedRange VBA tūlītējā logā. VBA tūlītējais logs ir rīks, kas palīdz iegūt informāciju par Excel failiem, ātri izpildīt vai atkļūdot jebkuru VBA kodu, pat ja lietotājs neraksta nevienu makro. Tas atrodas Visual Basic redaktorā, un tam var piekļūt šādi:

  • Dodieties uz cilni Izstrādātājs Excel un pēc tam noklikšķiniet uz Visual Basic Editor vai nospiediet Alt + F11, lai atvērtu Visual Basic Editor logu.

To darot, tiek atvērts šāds logs:

  • Nospiediet Ctrl + G, lai atvērtu tūlītējo logu, un ierakstiet kodu.

Tiešais logs izskatās šādi:

  • Šis kods atlasīs izmantoto diapazonu Sheet1

Kods:

? Darblapas ("Sheet1"). Aktivizēt True? ActiveSheet.UsedRange.Select True

Pirmais koda paziņojums aktivizēs faila Sheet1, un otrajā paziņojumā tiks atlasīts aktīvās lapas izmantotais diapazons.

Rakstot šo kodu, redzam, ka 1. tabulā izmantotais diapazons tiek izvēlēts šādi:

2. piemērs

Pieņemsim, ka šajā piemērā mēs vēlamies atrast 1. lapā izmantoto kopējo rindu skaitu. Lai to izdarītu, mēs rīkojamies šādi:

  • Modulī izveidojiet makro nosaukumu.

Kods:

 Sub TotalRows () Beigas Sub 

  • Definējiet mainīgo TotalRow kā veselu skaitli VBA:

Kods:

 Sub TotalRows () Dim TotalRow kā vesels skaitlis End Sub 

  • Tagad piešķiriet mainīgo TotalRow ar formulu, lai aprēķinātu kopējo rindu skaitu:

Kods:

 Sub TotalRows () Dim TotalRow kā vesels skaitlis TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub 

  • Tagad iegūto TotalRow vērtību var parādīt un atgriezt, izmantojot VBA ziņojumu lodziņu (MsgBox) šādi:

Kods:

 Sub TotalRows () Dim TotalRow kā vesels skaitlis TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub 

  • Tagad mēs palaižam šo kodu manuāli vai nospiežot F5, un kopējais rindu skaits, kas izmantots 1. lapā, tiek parādīts ziņojumu lodziņā šādi:

Tātad, iepriekš redzamajā ekrānuzņēmumā mēs varam redzēt, ka ziņojuma lodziņā tiek atgriezts “5”, un, kā mēs redzam Sheet1, kopējais izmantoto diapazonu rindu skaits ir 5.

3. piemērs

Līdzīgi, ja mēs vēlamies atrast kopējo kolonnu skaitu, kas izmantots 1. lapā, mēs rīkosimies tāpat kā iepriekš, izņemot nelielas izmaiņas kodā šādi:

Kods:

 Sub TotalCols () Dim TotalCol kā veselais skaitlis TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub 

Tagad, kad mēs palaižam šo kodu manuāli vai nospiežot F5, kopējais Sheet1 izmantoto kolonnu skaits tiek parādīts ziņojumu lodziņā šādi:

Tātad ziņojuma lodziņā tiek atgriezts skaitlis 4, un, kā redzams 1. lapā, kopējais kolonnu skaits izmantotajā diapazonā ir 4.

4. piemērs

Pieņemsim, ka mēs vēlamies atrast pēdējo izmantoto rindas un kolonnas numuru faila 2. lapā. Apskatīsim, ko satur 2. lapa:

Lai to izdarītu, mēs veicam šādas darbības:

  • Modulī izveidojiet makro nosaukumu.

Kods:

 Sub LastRow () Beigas Sub 

  • Definējiet mainīgo LastRow kā veselu skaitli.

Kods:

 Sub LastRow () Aptumšot LastRow kā veselu skaitli End Sub 

  • Tagad aprēķiniet mainīgo LastRow ar formulu, lai aprēķinātu pēdējo izmantoto rindas numuru:

Kods:

 Sub LastRow () Dim LastRow kā vesels skaitlis LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Rindas beigu apakšdaļa 

Īpašās šūnas metode programmā Excel VBA atgriež diapazona objektu, kas pārstāv tikai norādītos šūnu veidus. SpecialCells metodes sintakse ir šāda:

RangeObject.SpecialCells (tips, vērtība)

Iepriekš minētajā kodā xlCellTypeLastCell: apzīmē pēdējo šūnu izmantotajā diapazonā.

Piezīme: 'xlCellType' tiks iekļautas pat tukšas šūnas, kuru jebkuras šūnas noklusējuma formāts ir mainīts.
  • Tagad iegūto LastRow numura vērtību var parādīt un atgriezt, izmantojot ziņojumu lodziņu (MsgBox) šādi:

Kods:

 Sub LastRow () Dim LastRow kā vesels skaitlis LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Rinda MsgBox LastRow End Sub 

  • Tagad mēs palaižam šo kodu manuāli vai nospiežot F5, un ziņojuma lodziņā tiek parādīts pēdējais izmantotais rindas numurs Sheet2:

Tātad, iepriekš redzamajā ekrānuzņēmumā mēs varam redzēt, ka ziņojuma lodziņā tiek atgriezts “12”, un, kā mēs redzam 2. lapā, pēdējais izmantotais rindas numurs ir 12.

Līdzīgi, ja mēs vēlamies atrast pēdējo izmantoto slejas numuru 2. lapā, mēs rīkosimies tāpat kā iepriekš, izņemot nelielas izmaiņas kodā šādi:

Kods:

 Sub LastCol () Dim LastCol kā veselais skaitlis LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Kolonna MsgBox LastCol End Sub 

Tagad, kad palaižam šo kodu manuāli vai nospiežot F5, ziņojuma lodziņā tiek parādīts pēdējais izmantotais kolonnas numurs Sheet2:

Tātad, iepriekš redzamajā ekrānuzņēmumā mēs varam redzēt, ka ziņojuma lodziņā tiek atgriezts skaitlis 3, un, kā mēs redzam Sheet2, pēdējais izmantotais kolonnas numurs ir 3.

Lietas, kas jāatceras par VBA UsedRange

  • VBA UsedRange ir taisnstūra diapazons.
  • VBA UsedRange ietver šūnas ar jebkādiem datiem vai tiek formatētas utt.
  • Excel VBA UsedRange ne vienmēr ietver darblapas augšējo kreiso šūnu.
  • Lietotais diapazons ne vienmēr uzskata aktīvo šūnu par lietotu.
  • Izmantoto diapazonu var izmantot, lai atrastu pēdējo izmantoto rindu VBA un atiestatītu izmantoto diapazonu utt.
  • Nospiežot īsinājumtaustiņus Excel taustiņus CTRL + SHIFT + ENTER uz tastatūras, var izmantot, lai paplašinātu atlasi no aktīvās šūnas uz pēdējo izmantoto šūnu darblapā.

$config[zx-auto] not found$config[zx-overlay] not found