Я пытаюсь найти минимальное ненулевое значение. Я нашел следующий пример в Интернете и безуспешно пытался адаптировать его к VBA.
=SMALL((A1,C1,E1),INDEX(FREQUENCY((A1,C1,E1),0),1)+1)
Вот моя адаптация:
myarr = Array(A, B, C)
.Range(Cells(D, 1), Cells(WorksheetFunction.Small(myarr,WorksheetFunction.Index(WorksheetFunction.Frequency(myarr, 0), 1) + 1),1)).EntireRow.Delete
где A, B, C, D - четыре целых числа.
В окне отладки функция SMALL возвратила «вне контекста», и как только эта строка кода была выполнена, компилятор выходит из подпрограммы, как если бы была выполнена команда «Выход из подпрограммы».
Полагаю, функция ЧАСТОТА не работает. Как заставить это работать?
Только для трех значений легко использовать нефункциональное решение, такое как вложенные IF, но меня интересует, как заставить функции работать так, как мне может понадобиться в будущем.