GinawangRange ng VBA | Paano Makahanap ng Bilang ng mga ginamit na Rows at Column?

Ang UseRange, tulad ng ipinahihiwatig ng pangalan, ay ang mga saklaw na bilang ilang uri ng mga halaga sa mga ito, ang mga walang laman na cell ay hindi kasama sa mga ginamit na saklaw, kaya sa Mga ginamit na saklaw ng VBA ay pag-aari ng saklaw na bagay sa VBA para sa saklaw ng mga cell sa mga hilera at haligi na kung saan ay walang laman at mayroong ilang mga halaga dito.

Ginamit naRange sa VBA Excel

Ang UsedRange sa VBA ay isang pag-aari ng worksheet na nagbabalik ng isang saklaw na bagay na kumakatawan sa saklaw na ginamit (lahat ng mga cell ng Excel na ginamit o napunan sa isang worksheet) sa isang partikular na worksheet. Ito ay isang pag-aari na kumakatawan sa lugar na sakop o nalilimitahan ng ginagamit na cell sa kaliwa sa itaas at huling mga kanang ginamit na cell sa isang worksheet.

Maaari naming ilarawan ang 'Ginamit na cell' bilang isang cell na naglalaman ng anumang pormula, pag-format, halaga, atbp Maaari din nating piliin ang huling ginamit na cell sa pamamagitan ng pagpindot sa mga pindutan ng CTRL + END sa keyboard.

Ang sumusunod ay isang paglalarawan ng isang Ginamit na Range sa isang worksheet:

Maaari nating makita sa screenshot sa itaas na ang UsedRange ay A1: D5.

Mga halimbawa ng Excel VBA UsedRange Property

Tingnan natin ang ilang mga halimbawa sa ibaba upang makita kung paano magagamit ang UseRange Property sa isang worksheet upang mahanap ang ginamit na saklaw sa VBA:

Maaari mong i-download ang Template ng VBA UsedRange Excel na ito dito - VBA UsedRange Excel Template

Halimbawa # 1

Ipaalam sa amin na mayroon kaming isang file na Excel na naglalaman ng dalawang worksheet, at nais naming hanapin at piliin ang ginamit na saklaw sa Sheet1.

Tingnan natin kung ano ang nilalaman ng Sheet1:

Ginagamit namin ang pag-aari ng UsedRange sa VBA na agarang window upang magawa ang gawaing ito. Ang agarang window ng VBA ay isang tool na makakatulong upang makakuha ng impormasyon tungkol sa mga file ng Excel, mabilis na maipatupad o ma-debug ang anumang VBA code, kahit na ang gumagamit ay hindi nagsusulat ng anumang macros. Matatagpuan ito sa Visual Basic Editor at maaaring ma-access ang mga sumusunod:

  • Pumunta sa tab na Developer Excel, at pagkatapos ay mag-click sa Visual Basic Editor, o pindutin ang Alt + F11 upang buksan ang window ng Visual Basic Editor.

Sa paggawa nito, bubukas ang isang window tulad ng sumusunod:

  • Pindutin ang Ctrl + G upang buksan ang agarang window, at i-type ang code.

Ang agarang window ay parang:

  • Pipiliin ng sumusunod na code ang ginamit na saklaw sa Sheet1

Code:

? Mga worksheet ("Sheet1"). Paganahin ang Totoo? AktiboSheet.UsedRange. Piliin ang Totoo

Ang unang pahayag ng code ay magpapagana ng Sheet1 ng file, at ang pangalawang pahayag ay pipiliin ang ginamit na saklaw sa aktibong sheet na iyon.

Sa pagsulat ng code na ito, nakikita namin na ang saklaw na ginamit sa Sheet1 ay napili tulad ng sumusunod:

Halimbawa # 2

Ngayon, sabihin natin sa halimbawang ito na nais naming hanapin ang kabuuang bilang ng mga hilera na ginamit sa Sheet1. Upang magawa ito, sinusunod namin ang mga hakbang sa ibaba:

  • Lumikha ng isang pangalan ng macro sa modyul.

Code:

 Sub TotalRows () Wakas Sub 

  • Tukuyin ang variable na TotalRow bilang Integer sa VBA:

Code:

 Sub TotalRows () I-dim TotalRow Bilang Integer End Sub 

  • Italaga ngayon ang variable na TotalRow na may pormula upang makalkula ang isang kabuuang bilang ng mga hilera:

Code:

 Sub TotalRows () I-dim TotalRow Bilang Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub 

  • Ngayon ang resulta na halaga ng TotalRow ay maaaring ipakita at ibalik gamit ang isang kahon ng mensahe ng VBA (MsgBox) tulad ng sumusunod:

Code:

 Sub TotalRows () I-dim TotalRow Bilang Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub 

  • Ngayon ay pinapatakbo namin ang code na ito nang manu-mano o sa pamamagitan ng pagpindot sa F5, at nakukuha namin ang kabuuang bilang ng mga hilera na ginamit sa Sheet1 na ipinapakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, nakikita natin sa screenshot sa itaas na ang '5' ay naibalik sa kahon ng mensahe, at tulad ng nakikita natin sa Sheet1, ang kabuuang bilang ng mga hilera sa ginamit na saklaw ay 5.

Halimbawa # 3

Katulad nito, kung nais naming hanapin ang kabuuang bilang ng mga haligi na ginamit sa Sheet1, susundin namin ang parehong mga hakbang tulad ng nasa itaas maliban sa isang bahagyang pagbabago sa code tulad ng sumusunod:

Code:

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

Ngayon kapag pinatakbo namin ang code na ito nang manu-mano o sa pamamagitan ng pagpindot sa F5, nakukuha namin ang kabuuang bilang ng mga haligi na ginamit sa Sheet1 na ipinapakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, ang '4' ay ibinalik sa kahon ng mensahe, at tulad ng nakikita natin sa Sheet1, ang isang kabuuang bilang ng mga haligi sa ginamit na saklaw ay 4.

Halimbawa # 4

Ngayon, sabihin nating nais nating hanapin ang huling ginamit na numero ng hilera at haligi sa Sheet2 ng file. Tingnan natin kung ano ang nilalaman ng Sheet2:

Upang magawa ito, susundin namin ang mga hakbang sa ibaba:

  • Lumikha ng isang pangalan ng macro sa modyul.

Code:

 Sub LastRow () End Sub 

  • Tukuyin ang variable na LastRow bilang Integer.

Code:

 Sub LastRow () Dim LastRow Bilang Integer End Sub 

  • Italaga ngayon ang variable na LastRow na may pormula upang makalkula ang huling ginamit na numero ng hilera:

Code:

 Sub LastRow () Dim LastRow Bilang Integer LastRow = ActiveSheet.UsedRange.Spesyal na Mga Cell (xlCellTypeLastCell) .Row End Sub 

Ang Paraan ng SpecialCells sa Excel VBA ay nagbabalik ng isang saklaw na bagay na kumakatawan lamang sa mga uri ng mga cell na tinukoy. Ang syntax para sa pamamaraan ng SpecialCells ay:

RangeObject.Spesyal na Mga Selula (Uri, Halaga)

Sa code sa itaas, xlCellTypeLastCell: kumakatawan sa huling cell sa ginamit na saklaw.

Tandaan: Isasama pa ng ‘xlCellType’ ang mga walang laman na cell na nagkaroon ng default na format ng alinman sa kanilang mga cell.
  • Ngayon ang resulta na halaga ng numero ng LastRow ay maaaring ipakita at ibalik gamit ang isang kahon ng mensahe (MsgBox) tulad ng sumusunod:

Code:

 Sub LastRow () Dim LastRow Bilang Integer LastRow = ActiveSheet.UsedRange.Spesyal na Mga Cell (xlCellTypeLastCell) .Row MsgBox LastRow End Sub 

  • Ngayon ay pinapatakbo namin ang code na ito nang manu-mano o sa pamamagitan ng pagpindot sa F5, at nakukuha namin ang huling ginamit na numero ng hilera sa Sheet2 na ipinapakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, nakikita natin sa screenshot sa itaas na ang '12' ay ibinalik sa kahon ng mensahe, at tulad ng nakikita natin sa Sheet2, ang huling ginamit na numero ng hilera ay 12.

Katulad nito, kung nais naming hanapin ang huling ginamit na numero ng haligi sa Sheet2, susundin namin ang parehong mga hakbang tulad ng nasa itaas maliban sa isang bahagyang pagbabago sa code tulad ng sumusunod:

Code:

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

Ngayon kapag pinatakbo namin ang code na ito nang manu-mano o sa pamamagitan ng pagpindot sa F5, nakukuha namin ang huling ginamit na numero ng haligi sa Sheet2 na ipinakita sa isang Box ng Mensahe tulad ng sumusunod:

Kaya, nakikita natin sa screenshot sa itaas na ang '3' ay naibalik sa kahon ng mensahe, at tulad ng nakikita natin sa Sheet2, ang huling ginamit na numero ng haligi ay 3.

Mga Bagay na Dapat Tandaan Tungkol sa VBA UsedRange

  • Ang VBA UsedRange ay isang saklaw na rektanggulo.
  • Kasama sa VBA UsedRange ang mga cell na mayroong anumang data o nai-format atbp.
  • Ang Excel VBA UsedRange ay hindi kinakailangang isama ang kaliwang cell sa itaas ng worksheet.
  • Hindi kinakailangang isaalang-alang ng usedRange ang aktibong cell tulad ng ginamit.
  • Maaaring magamit ang UseRange upang mahanap ang huling ginamit na hilera sa VBA at i-reset ang ginamit na saklaw, atbp.
  • Ang pagpindot sa mga shortcut na Excel key CTRL + SHIFT + ENTER sa isang keyboard ay maaaring magamit upang mapalawak ang pagpipilian mula sa isang aktibong cell hanggang sa huling ginamit na cell sa isang worksheet.