Denna handledning visar dig hur du använder egenskapen Range.End i VBA.
De flesta saker som du gör manuellt i en Excel -arbetsbok eller kalkylblad kan automatiseras i VBA -kod.
Om du har en rad icke-tomma celler i Excel och trycker på Ctrl+pil ned, flyttar markören till den sista icke-tomma cellen i kolumnen du befinner dig i. Om du trycker på på samma sätt Ctl+pil upp, kommer markören att flytta till den första icke-tomma cellen. Detsamma gäller för en rad med Ctrl+högerpil eller Ctrl+vänsterpil för att gå till början eller slutet av den raden. Alla dessa tangentkombinationer kan användas i din VBA -kod med Avsluta funktion.
Range End Property Syntax
Egenskapen Range.End låter dig flytta till en specifik cell inom den aktuella regionen som du arbetar med.
uttryck.Slutet (Riktning)
uttrycket är celladressen (intervallet) för cellen där du vill börja från t.ex.: Område ("A1")
END är egenskapen för det Range -objekt som styrs.
Riktning är Excel -konstanten som du kan använda. Det finns 4 val tillgängliga - xlDown, xlToLeft, xlToRight och xlUp.
Flytta till den sista cellen
Proceduren nedan kommer att flytta dig till den sista cellen i den aktuella regionen av celler som du befinner dig i.
1234 | Sub GoToLast ()'gå till den sista cellen i den aktuella cellregionenOmråde ("A1"). Slut (xlDown) .VäljAvsluta Sub |
Räknar rader
Följande procedur låter dig använda xlDown konstant med egenskapen Range End för att räkna hur många rader som finns i din nuvarande region.
12345678 | Sub GoToLastRowofRange ()Dim rw Som heltalOmråde ("A1"). Välj'få den sista raden i den aktuella regionenrw = Område ("A1"). Slut (xlDown) .Rad'visa hur många rader som användsMsgBox "Den sista raden som används i detta område är" & rwAvsluta Sub |
Medan den nedan kommer att räkna kolumnerna i intervallet med xlToRight konstant.
12345678 | Sub GoToLastCellofRange ()Dim col As IntegerOmråde ("A1"). Välj'få den sista kolumnen i den aktuella regionencol = Range ("A1"). Slut (xlToRight) .Column'visa hur många kolumner som användsMsgBox "Den senaste kolumnen som används i detta område är" & kolAvsluta Sub |
Skapa en intervallmatris
Proceduren nedan tillåter oss att börja med den första cellen i ett cellintervall och sedan använda egenskapen End (xlDown) för att hitta den sista cellen i cellintervallet. Vi kan sedan omdimensionera vår array med de totala raderna i intervallet och därmed låta oss gå igenom cellintervallet.
123456789101112131415161718 | Sub PopulateArray ()'deklarera matrisenDim strSuppliers () As String'deklarera heltalet för att räkna radernaDim n Som heltal'räkna radernan = Range ("B1", Range ("B1"). End (xlDown)). Rows.Count'initiera och fylla ut matrisenReDim strCustomers (n)'deklarera heltalet för loopingDim i As Integer'fyll i matrisenFör i = 0 Till nstrCustomers (i) = Range ("B1"). Offset (i, 0) .VärdeNästa i'visa meddelanderuta med värden i arrayMsgBox Join (strCustomers, vbCrLf)Avsluta Sub |
När vi kör den här proceduren returnerar den följande meddelanderuta.