Denne vejledning forklarer, hvordan du bruger Current Region i VBA.
Det CurrentRegion egenskab i VBA er en måde at vælge alle celler, der er indeholdt i et område, som du måske vil arbejde med. Så længe cellerne inden for området alle er på hinanden følgende eller 'rører' hinanden, vil CurrentRegion vælger hver celle i regionen.
CurrentRegion Syntax
Syntaksen er meget enkelt:
1 | Område ("E11"). CurrentRegion.Select |
hvor du vil angive den celle, hvis aktuelle region du ønsker at vælge, og derefter bruge CurrentRegion.Select egenskab for at vælge celleområdet.
Opnåelse af den nuværende region
Overvej følgende regneark.
følgende delprocedure ville markere alle cellerne i databasen
1234567 | Sub FindCurrentRegion ()Dim rng Som område'indstil området til Cell E11Indstil rng = Range ("E11")'vælg den aktuelle regionrng.CurrentRegion.SelectAfslut Sub |
Hvis vi kører rutinen, vil alle cellerne i CurrentRegion af celle E11 vil blive valgt.
Hvis vi fjerner indholdet i de tilstødende celler og kører rutinen igen, vil følgende blive valgt som den aktuelle region.
Men hvis vi fjerner endnu flere data, kan vi ende med eksemplet herunder for den aktuelle region i celle E11.
Når vi sætter information ind i D13, ender vi med følgende:
Det CurrentRegion returnerer derfor en anden rækkevidde objekt defineret af den mindste kombination af besatte kolonner og rækker, der omgiver det område, du har leveret.
Tæller rækker og kolonner i den aktuelle region
Vi kan bruge CurrentRegion at tælle rækker og kolonner.
12345678910111213 | Sub FindCurrentRegion ()Dim rng Som områdeDim iRw som heltalDim iCol som heltal'indstil intervalletIndstil rng = Range ("E11")'tæl rækkerneiRw = rng.CurrentRegion.Rows.Count'tæl kolonnerneiCol = rng.CurrentRegion.Columns.Count'vis resultatet i en meddelelsesboksMsgBox ("Vi har" & iRw & "rækker og" & iCol & "kolonner i vores nuværende region")Afslut Sub |
Hvis vi kører proceduren, vises følgende meddelelsesboks.
Sletning af den aktuelle region
Vi kan også bruge den aktuelle regionsejendom til at rydde celleområdet.
123456 | Sub ClearCurrentRegion ()Dim rng Som område'indstil områdetIndstil rng = Range ("E11")rng.CurrentRegion.ClearAfslut Sub |
Tildeling af den aktuelle region til en variabel
Vi kan også tildele hele den aktuelle region til en områdevariabel og derefter bruge den områdevariabel til at manipulere cellerne - det være sig formatering af cellerne, sortering af celler osv …
12345678910 | Sub AssignCurrentRegionToVariable ()Dim rng Som område'indstil området til at være den aktuelle region af E11Indstil rng = Range ("E11"). CurrentRegion'farve baggrunden og tekstenrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Sandtrng.Font.Color = -16776961Afslut Sub |
Hvis vi kører proceduren ovenfor, ender vi med et regneark som vist herunder!
Få start- og slutcellerne i den aktuelle region
Med lidt mere kompliceret kode kan vi få den første celle og den sidste celle i en aktuel region.
123456789101112131415161718 | Sub GetStartAndEndCells ()Dim rng Som områdeDim iRw som heltalDim iCol som heltalDim iColStart, iColEnd, iRwStart, iRwEnd som streng'indstil områdevariablen til at være den aktuelle region af E11Indstil rng = Range ("E11"). CurrentRegion'indstil startkolonnen for områdetiColStart = rng.Column'få slutkolonnen for områdetiColEnd = iColStart + (rng.Columns.Count - 1)'få startrækken for områdetiRwStart = rng.Row'få slutrækken for intervalletiRwEnd = iRwStart + (rng.Rows.Count - 1)'vis adressen til start- og slutrækkerne og kolonnerne i en meddelelsesboksMsgBox ("Området starter ved" & Celler (iRwStart, iColStart) .Adresse & "og ender med" & Celler (iRwEnd, iColEnd) .Adresse)Afslut Sub |
Når vi kører koden ovenfor, vises følgende meddelelsesboks