UsedRange - otsige viimati kasutatud lahtrit, veergu või rida
Järgmine kood tagastab sõnumikasti, mis näitab töölehel kasutatud ridade koguarvu. Tühjad read loetakse kasutatavateks, kui andmed järgnevad tühjale reale.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Kas peate lehe silmus käivitama, kuid ei tea, kus andmed peatuvad? ActiveSheet.UsedRange.Rows.Count võib aidata.
Pane see moodulisse:
123456789 | Viimane rida ()Dim LastRow täisarvunaLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowEnd Sub |
123456789 | Sub LastCol ()Dim LastCol täisarvunaLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColEnd Sub |
Leia esimene tühi lahter
VBA abil peate võib -olla kirjutama esimesse tühja lahtrisse või pärast viimast veerus kasutatud rida. Selle leidmiseks pole vaja silmuseid teha, järgmine kood teeb seda teie jaoks.
Selles näites kirjutab kood veeru "d" esimesse tühja lahtrisse "FirstEmpty"
1234 | Avalik Sub AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"End Sub |
Loendage töölehel kasutatud veerge
Järgmine kood tagastab sõnumikasti töölehel kasutatud veergude koguarvu. Tühjad veerud loetakse kasutatavateks, kui andmed järgnevad tühjale veerule.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Viimati kasutatud rakk - probleemid
Kui mul on vaja … Järgmine … Silmast läbi terve veeru kasutan tavaliselt peatamiseks ActiveSheet.UsedRange.Rows.Count. Mul on selle lähenemisega alati õnne olnud.
Olen ka teadlik, et aeg -ajalt arvab Excel, et viimane rida on kusagil olemas, kuid rida on tegelikult tühi. Olen seda pärast andmete importimist paar korda näinud. BeyondTechnologyst:
Töölehe objekt UsedRange ei tööta alati, kuna arvutustabeli kasutatav vahemik (või „määrdunud ala”) võib olla suurem kui teie kirjetega tegelikult täidetud ala.