UsedRange - Знайдіть останні використані клітинки, стовпці або рядки
Наступний код поверне вікно повідомлення із зазначенням загальної кількості рядків, використаних на аркуші. Порожні рядки вважаються використаними, якщо дані слідують за порожнім рядком.
1 | MsgBox ActiveSheet.UsedRange.Rows.Count |
Вам доводиться запускати цикл вниз по аркушу, але не знаєте, де дані зупиняються? ActiveSheet.UsedRange.Rows.Count може допомогти.
Вставте це в модуль:
123456789 | Sub LastRow ()Затемнити LastRow як ціле числоLastRow = ActiveSheet.UsedRange.Rows.CountMsgBox LastRowEnd Sub |
123456789 | Sub LastCol ()Затемнити LastCol як ціле числоLastCol = ActiveSheet.UsedRange.Col.CountMsgBox LastColEnd Sub |
Знайдіть першу порожню клітинку
За допомогою VBA вам може знадобитися написати у першу порожню клітинку або після останнього рядка, що використовується у стовпці. Щоб знайти це, не потрібно повторювати цикл, наступний код робить це за вас.
У цьому прикладі код напише “FirstEmpty” у першій порожній клітинці у стовпці “d”
1234 | Публічний суб AfterLast ()ActiveSheet.Range ("d" & ActiveSheet.Rows.Count) .End (xlUp) .Offset (1, 0) .Value = "FirstEmpty"End Sub |
Порахувати використані стовпці на аркуші
Наступний код поверне у вікні повідомлення загальну кількість стовпців, використаних на аркуші. Порожні стовпці вважаються використаними, якщо дані слідують за порожнім стовпцем.
1 | MsgBox ActiveSheet.UsedRange.Columns.Count |
Останнє використання клітинки - проблеми
Коли мені потрібно За… Далі… Перебирати весь стовпець, я зазвичай використовую ActiveSheet.UsedRange.Rows.Count, щоб знайти, де зупинитися. Мені завжди пощастило з таким підходом.
Мені також відомо, що іноді Excel вважає, що останній рядок десь існує, але насправді цей рядок порожній. Я бачив це кілька разів після імпорту даних. Від BeyondTechnology:
Об'єкт робочого аркуша UsedRange не завжди працює, оскільки використаний діапазон (або "брудна область") електронної таблиці може бути більшим, ніж площа, фактично заповнена вашими записами.