Добрый день.Вопрос:существует массив данных созданный в VBA. Массив с имеет динамическое количество строк и 2 столбца. Нужно найти максимальное значение столбца 2. Есть ли функция для этого
Максимальное значение из массива
19.08.2011 11:21:08
|
|
|
|
19.08.2011 11:37:38
Если Вы перебором заносите в массив, сразу и смотрите максимум по D(l, 18)
Типа if maximum<D(l, 18) then maximum=D(l, 18) |
|
|
|
19.08.2011 11:47:39
Спасибо Hugo.Может я слишком усложнил когда влез в массивы.Есть таблица, мне нужно макросом отобрать максимальное значение из столбца 2, при условии что столбец 1 больше 0
|
|
|
|
19.08.2011 11:59:23
Юрий это отбор максимума из одного столбца.Это я пробовал, а мне нужно максимум из столбца 2 при условии что столбец 1 больше 0
|
|
|
|
19.08.2011 12:06:34
Сначала проверяем диапазон ячеек столбца 1, если значение столбца 1 больше 0, тогда ищем максимальное значение в столбце 2
|
|
|
|
19.08.2011 12:18:09
Сначала - "если значение столбца 1 больше 0"
А в коде проверяется одна ячейка. И это притом, что изначально нужен был максимум по столбцу. Туман не рассеялся... |
|
|
|
19.08.2011 12:20:03
как то так
Sub макс() Dim Ar(1, 100) Dim i, к For i = 0 To 100 If Ar(0, i) > 0 And Ar(1, i) > k Then k = Ar(1, i) Next End Sub |
|
|
|
19.08.2011 12:22:41
vigor, Вы бы лучше выложили таблицу строк на 10, где показали бы желаемое.
|
|
|
|
19.08.2011 12:33:18
Все вреде получилось. Спасибо всем
|
|
|
|
19.08.2011 12:36:49
Михаил С. суперовое решение.Очень оригинально и просто.Супер!!!
|
|
|
|
19.08.2011 12:42:18
если использовать ADO, то запрос может быть такой
SELECT DISTINCTROW Max(F2) FROM [Лист1$A1:B10] WHERE F1>0
|
|||
|
|
19.08.2011 12:55:07
Михаил сделал лишнее - один раз уже этот массив перебирали, зачем ещё раз?
Но в чистом виде конечно... |
||||
|
|
|||
Читают тему