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