Vba: як знайти останній використаний стовпець
Ви можете використовувати такий базовий синтаксис у VBA, щоб знайти останній використаний стовпець на аркуші Excel:
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
У цьому конкретному прикладі виконується пошук останнього використовуваного стовпця на поточному аркуші та повертається результат у клітинці A14 .
Якщо натомість потрібно відобразити останній стовпець вікна повідомлення, можна використати такий синтаксис:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Наступні приклади показують, як використовувати кожен із цих методів на практиці.
Пов’язане: VBA: як знайти останній використаний рядок
Приклад 1. Знайдіть останній стовпець за допомогою VBA та відобразіть результати в клітинці
Припустімо, у нас є такий набір даних у Excel, який містить інформацію про різних баскетболістів:
Ми можемо створити такий макрос, щоб знайти останній стовпець, який використовується на цьому аркуші Excel, і відобразити результат у клітинці A14 :
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що клітинка A14 містить значення 2 .
Це говорить нам, що останній стовпець, який використовується на цьому аркуші, є стовпцем 2.
Також варто зауважити, що якщо у вас є порожні стовпці перед використаним стовпцем, цей макрос завжди знаходитиме останній використаний стовпець.
Наприклад, припустімо, що ми запускаємо макрос на такому наборі даних:
Комірка A14 містить значення 5 , оскільки це останній стовпець, що містить значення.
Приклад 2: знайдіть останній стовпець за допомогою VBA та відобразіть результати у вікні повідомлення
Припустімо, замість цього ми хочемо знайти останній використаний стовпець на аркуші та відобразити номер стовпця у вікні повідомлення.
Для цього ми можемо створити такий макрос:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Вікно повідомлення повідомляє нам, що останній стовпець, який використовується на аркуші, це стовпець 2 .
Примітка . Ви можете знайти повну документацію для методу пошуку VBA тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як обчислити середнє значення діапазону
VBA: як підрахувати кількість рядків у діапазоні
VBA: як видалити повторювані значення в діапазоні