UsedRange - Keresse meg az utoljára használt cellát, oszlopot vagy sort
A következő kód egy üzenetmezőt ad vissza, amely jelzi a munkalapon használt sorok teljes számát. Az üres sorokat használtnak kell tekinteni, ha az adatok az üres sort követik.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Le kell futtatnia egy ciklust egy lapon, de nem tudja, hol állnak meg az adatok? Az ActiveSheet.UsedRange.Rows.Count segíthet.
Tedd ezt egy modulba:
123456789 | Utolsó sor ()Dim LastRow mint egészLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowEnd Sub |
123456789 | Sub LastCol ()Dim LastCol mint egészLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColEnd Sub |
Keresse meg az első üres cellát
A VBA használatával előfordulhat, hogy írnia kell az első üres cellába, vagy az oszlopban használt utolsó sor után. Ennek megtalálásához nincs szükség hurokra, a következő kód teszi ezt az Ön számára.
Ebben a példában a kód „FirstEmpty” -t ír a „d” oszlop első üres cellájába
1234 | Public Sub AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"End Sub |
Számolja a használt oszlopokat a munkalapon
A következő kód egy üzenetmezőben visszaadja a munkalapon használt oszlopok teljes számát. Az üres oszlopokat használtnak kell tekinteni, ha az adatok az üres oszlopot követik.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Utoljára használt cella - problémák
Amikor szükségem van a következőre … Következő… Végigjárni egy egész oszlopot, általában az ActiveSheet.UsedRange.Rows.Count programot használom, hogy megtudjam, hol kell megállni. Mindig szerencsém volt ezzel a megközelítéssel.
Tisztában vagyok azzal is, hogy az Excel néha azt hiszi, hogy az utolsó sor létezik valahol, de a sor valójában üres. Ezt néhányszor láttam az adatok importálása után. A BeyondTechnology -tól:
A munkalap objektum UsedRange nem mindig működik, mert a táblázat használt tartománya (vagy „piszkos területe”) nagyobb lehet, mint a rekordjaival ténylegesen feltöltött terület.