VBA nåværende region

Denne opplæringen vil forklare hvordan du bruker Current Region i VBA.

De CurrentRegion egenskap i VBA er en måte å velge alle cellene som finnes i et område som du kanskje vil jobbe med. Så lenge cellene i området alle er på rad eller "berører" hverandre, vil CurrentRegion vil velge hver celle i regionen.

CurrentRegion Syntax

Syntaksen er veldig enkelt:

1 Område ("E11"). CurrentRegion.Select

hvor du vil spesifisere cellen hvis nåværende region du ønsket å velge, og deretter bruke CurrentRegion.Select egenskapen for å velge celleområdet.

Få den nåværende regionen

Vurder følgende regneark.

følgende delprosedyre ville velge alle cellene i databasen

1234567 Sub FindCurrentRegion ()Dim rng As Range'angi området til Cell E11Sett rng = Range ("E11")'velg gjeldende regionrng.CurrentRegion.SelectSlutt Sub

Hvis vi kjører rutinen, vil alle cellene i CurrentRegion av celle E11 vil bli valgt.

Hvis vi fjerner innholdet i de tilstøtende cellene og kjører rutinen på nytt, vil følgende bli valgt som gjeldende region.

Men hvis vi fjerner enda flere data, kan vi ende opp med eksemplet nedenfor for gjeldende region i celle E11.

Når vi legger informasjon inn i D13, ender vi opp med følgende:

De CurrentRegion returnerer derfor en annen område objekt definert av den minste kombinasjonen av okkuperte kolonner og rader som omgir området du har levert.

Teller radene og kolonnene i gjeldende region

Vi kan bruke CurrentRegion for å telle radene og kolonnene.

12345678910111213 Sub FindCurrentRegion ()Dim rng As RangeDim iRw som heltallDim iCol som heltall'angi rekkeviddenSett rng = Range ("E11")teller radeneiRw = rng.CurrentRegion.Rows.Countteller kolonneneiCol = rng.CurrentRegion.Columns.Count'vis resultatet i en meldingsboksMsgBox ("Vi har" & iRw & "rader og" & iCol & "kolonner i vår nåværende region")Slutt Sub

Hvis vi kjører prosedyren, vises følgende meldingsboks.

Rydde gjeldende region

Vi kan også bruke den nåværende regionegenskapen til å fjerne cellens område.

123456 Sub ClearCurrentRegion ()Dim rng As Range'angi rekkeviddenSett rng = Range ("E11")rng.CurrentRegion.ClearSlutt Sub

Tilordne den nåværende regionen til en variabel

Vi kan også tilordne hele Gjeldende region til en områdevariabel, og deretter bruke denne variabelen til å manipulere cellene - det være seg å formatere cellene, sortere cellene osv …

12345678910 Sub AssignCurrentRegionToVariable ()Dim rng As Range'angi området til å være den nåværende regionen til E11Sett rng = Range ("E11"). CurrentRegion'farge bakgrunnen og tekstenrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Santrng.Font.Color = -16776961Slutt Sub

Hvis vi kjører prosedyren ovenfor, vil vi ende opp med et regneark som vist nedenfor!

Få start- og sluttcellene i den nåværende regionen

Med litt mer komplisert kode kan vi få den første cellen og den siste cellen i en gjeldende region.

123456789101112131415161718 Sub GetStartAndEndCells ()Dim rng As RangeDim iRw som heltallDim iCol som heltallDim iColStart, iColEnd, iRwStart, iRwEnd As String'angi områdevariabelen til å være den nåværende regionen til E11Sett rng = Range ("E11"). CurrentRegion'angi startkolonnen for områdetiColStart = rng.Column'få sluttkolonnen for områdetiColEnd = iColStart + (rng.Columns.Count - 1)'få startraden for områdetiRwStart = rng.Row'få sluttraden for områdetiRwEnd = iRwStart + (rng.Rows.Count - 1)'vis adressen til start- og sluttradene og kolonnene i en meldingsboksMsgBox ("Området starter ved" og celler (iRwStart, iColStart). Adresse & "og slutter på" & celler (iRwEnd, iColEnd). Adresse)Slutt Sub

Når vi kjører koden ovenfor, vises følgende meldingsboks

wave wave wave wave wave