VBA izmantotais diapazons - saskaitiet izmantoto rindu vai kolonnu skaitu - VBA koda piemēri

UsedRange - atrodiet pēdējo izmantoto šūnu, kolonnu vai rindu

Šis kods parādīs ziņojumu lodziņu, kurā norādīts darblapā izmantoto rindu kopskaits. Tukšas rindas tiek uzskatītas par izmantotām, ja dati seko tukšajai rindai.

1 MsgBox ActiveSheet.UsedRange.Rows.Count

Vai jums ir jāpalaiž cilpa uz leju, bet nezināt, kur dati apstājas? Var palīdzēt ActiveSheet.UsedRange.Rows.Count.

Ievietojiet to modulī:

123456789 Sub LastRow ()Dim LastRow kā vesels skaitlisLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowBeigu apakš
123456789 Sub LastCol ()Dim LastCol kā vesels skaitlisLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColBeigu apakš

Atrodiet pirmo tukšo šūnu

Izmantojot VBA, jums, iespējams, būs jāraksta pirmajā tukšajā šūnā vai aiz pēdējās kolonnas izmantotās rindas. Lai to atrastu, nav jāveic cilpa, šis kods to dara jūsu vietā.

Šajā piemērā kolonnas “d” pirmajā tukšajā šūnā kods rakstīs “FirstEmpty”

1234 Public Sub AfterLast ()ActiveSheet.Range ("d" un ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"Beigu apakš

Darblapā saskaitīt izmantotās kolonnas

Šis kods ziņojumu lodziņā atgriezīs kopējo darblapā izmantoto kolonnu skaitu. Tukšas kolonnas tiek uzskatītas par izmantotām, ja dati seko tukšajai kolonnai.

1 MsgBox ActiveSheet.UsedRange.Columns.Count

Pēdējā lietotā šūna - problēmas

Kad man ir nepieciešams … Tālāk … Izslēgt visu kolonnu es parasti izmantoju ActiveSheet.UsedRange.Rows.Count, lai atrastu, kur apstāties. Man vienmēr ir veicies ar šo pieeju.

Es arī apzinos, ka reizēm Excel uzskata, ka pēdējā rinda kaut kur pastāv, bet rinda faktiski ir tukša. Esmu to redzējis dažas reizes pēc datu importēšanas. No BeyondTechnology:

Darblapas objekts UsedRange ne vienmēr darbojas, jo izklājlapas izmantotais diapazons (vai “netīra zona”) var būt lielāks par apgabalu, kurā faktiski ir jūsu ieraksti.

wave wave wave wave wave