Всем привет 👋.
В предыдущих уроках уже был рассмотрен ряд примеров использования пользовательских функций. В продолжение темы представляем еще две функции, которые нумеруют строки по заданному условию.
📢 В конце этой статьи вы можете загрузить файл с исходным кодом 🔽
▶️ Нумерация по порядку в заданных пределах
Цель: Нумерация увеличивается на 1, если значение 2-го аргумента отличается от предыдущего внутри группы. No первой группы =1. Группа определяется по значению 1-го аргумента:
Пример кода:
🔘 Объяснение кода:
- Объявляем переменную: Dim currentRow As Integer
- Присваиваем переменной значение свойства Row объекта Application.Caller, которое возвращает No строки ячейки, из которой вызвана функция: currentRow = Application.Caller.Row
- Если No текущей строки равен 1, то возвращаем 1: If currentRow = 1 Then Number = 1
- Выполняем проверку. Иначе (Else), если:
▶️ Пример 2: Нумерация уникальных значений в заданных пределах
Цель: No строки сбрасывается на 1, если значение 1-го аргумента отличается от предыдущего. Номер строки увеличивается на 1, если значение второго аргумента отличается от предыдущего внутри группы. No первой строки первой группы равен единице. Группа определяется по значению 1-го аргумента:
Пример кода:
🔘 Объяснение кода:
- Объявляем переменную: Dim currentRow As Integer
- Присваиваем переменной значение свойства Row объекта Application.Caller, которое возвращает No строки ячейки, из которой вызвана функция: currentRow = Application.Caller.Row
- Проверка: Если номер текущей строки равен 1, то возвращаем 1:
If currentRow = 1 Then RowNumber = 1
- Условие Иначе (Else), если:
⏩ Сравнение результата:
💬 А какие приемы нумерации в Excel знаете Вы? Пишите ответ в комментариях 🔽