Я создал пользовательскую форму Excel, чтобы упростить ввод данных новых строк в реестр контрактов.У меня есть поле, которое автоматически генерирует новый уникальный номер контракта путем поиска наибольшего номера в списке номеров контрактов (столбец A), а затем добавляет 1. Эта формула отлично работает:
Me.tbContractNumber = Application.WorksheetFunction.Max(Sheet1.UsedRange.Columns(1)) + 1
I сейчаснеобходимо добавить критерии IF, чтобы отфильтровать любые номера контрактов МЕНЬШЕ, чем "2018000"Я разработал, как это сделать в обычной книге Excel с использованием MAXIFS, но, очевидно, MAXIFS не доступна в VBA?
Может ли кто-нибудь предложить эквивалентный код VBA для приведенной ниже формулы Excel?Заранее благодарим!
=MAXIFS(A2:A500,A2:A500,"<2018000")+1
EDIT Наши рабочие компьютеры работают под управлением 2010 года и не позволяют мне добавлять библиотеку объектов MS Office 16.0, поэтому функция MAXIFS не будет работать.Я могу заставить работать следующую формулу массива, но я никогда не использовал формулу массива в VBA.Может ли кто-нибудь предложить код VBA, эквивалентный приведенной ниже формуле Excel?Заранее благодарю!
{=MAX(IF(A:A<2018000,A:A)) +1}