WorksheetFunction.Small: как определить массив

Я хочу применить WorksheetFunction.Small к другому массиву как таковому:

ReDim ArrSmall(Iterations, 20) For l = 1 To Iterations For k = 1 To 20 ArrSmall(l, k) = WorksheetFunction.Small(ArrResult(l, k), l) Next k Next l 

Я знаю эту часть: ArrResult(l,k), неправильно, потому что он запрашивает диапазон, а не один номер, который я вводил. Однако я не уверен, как определить диапазон в коде.

Возможно ли это, или мне нужно выводить значения на TempSheet, а затем обратно в массив? Я думаю, что решение состоит в том, чтобы вызвать весь столбец массива, но я не знаю, как это сделать.

РЕДАКТИРОВАТЬ:

Мне удалось написать фиктивный код, который делает именно то, что я хочу, но странная часть – когда я применяю то же самое к моему исходному коду, все значения смешиваются (это буквально составляет значения AFAIK). См. Ниже код:

 Sub test() ReDim ArrTest(10, 1) ReDim ArrSmall(10, 1) ArrTest = Range("A1:A10") For i = 1 To 10 ArrSmall(i, 1) = WorksheetFunction.Small(ArrTest, i) Cells(i, 2) = ArrTest(i, 1) Cells(i, 3) = ArrSmall(i, 1) Next i 

Попытка очистить весь массив до нового цикла. Возможно, это исправление …

Если вы хотите взять наименьшее значение для каждого столбца (то же самое, что и Min ), скажем, A1: T20, тогда вы можете использовать TRANPOSE (для работы со столбцами, а не с строками), а затем INDEX для разделения каждого столбца, т. TRANPOSE

Тест IF заключается в том, чтобы не применять SMALL к пустующему массиву (иначе это приведет к ошибке).

 Sub B() Dim ArrSmall(1 To 1, 1 To 20) Dim lngCnt As Long Dim ArrResult ArrResult = Application.Transpose([a1:t20].Value2) For lngCnt = 1 To UBound(ArrResult, 2) If Application.Count(Application.Index(ArrResult, lngCnt)) > 0 Then _ ArrSmall(1, lngCnt) = WorksheetFunction.Small(Application.Index(ArrResult, lngCnt), 1) Next End Sub 
  • VBA: работайте для ограничения массива 65 536 с заданными пользователем функциями
  • используя словарь и массив для подсчета значений ячеек
  • Excel 2010 VBA - Сплит-строка по запятой, Пропустить пустые результаты
  • Определить диапазон для sum / sumif с формулой
  • Отображение нескольких данных и времени сверхурочной работы в LabVIEW
  • Как создать и передать массив строк в sub в Excel VBA?
  • Попытка вернуть вторую последнюю позицию согласованного значения
  • Динамически измерять двумерный массив в VBA
  • Имеет ли массив данные
  • Требуется объект Range.text
  • Выделение идентификатора формы VBA Excel отличается для объектов Non-Shape и объектов Shapes
  • Interesting Posts

    Excel. Можете ли вы ограничить, сколько раз пользователь меняет значение в ячейке?

    Создайте файл excel в альбомном формате в R

    Oracle 11g строки подключения ado для ODBC (не OLEDB) с использованием 64-разрядного 64-разрядного бита Excel (DSN Less и tnsnames)

    Заполнение третьего листа конкретными значениями из первого и второго листов

    Python 3.4: Невозможно прочитать значение из формулы Excel

    vba найти значение, а затем вставить другой в другую ячейку в другой колонке

    Сравнение и сравнение Excel

    подсчет уникальных значений строк в excel

    Использование Sumproduct для подсчета количества между диапазоном дат в Excel

    Макрос для повторного копирования в новую строку

    Я хочу, чтобы таблица имела только самые новые данные каждый user_id в models.py

    Как предотвратить появление html-кода в конце экспортированной рабочей книги excel

    Нужна дата создания файла в Java

    VBA: использование выражения и внутри цикла If Else

    AppleScript для выбора сообщений из папки Imap на Mail.app

    Давайте будем гением компьютера.