Информатика, вопрос задал Potrek , 1 год назад

Сформировать одномерный массив, состоящий из
положительных, отрицательных и нулевых элементов. Используя VBA. среди
отрицательных элементов массива найти максимальный элемент. Создать новый массив,
состоящий из индексов элементов исходного массива, значения которых равны
найденному максимальному значению.
Создать таблицу, содержащую результат выполнения
процедуры, и командную кнопку для запуска процедуры.


Potrek: сложно что-то, можно проще)
Potrek: да у нас так проверяют элементов 10 будет максимум
Potrek: на код одним глазом глянут, кнопку нажмут и на это все закончится
Potrek: ну можно через a=range((), range().end(xldown)).count
Potrek: ну все равно, мне нужно чтобы оно было)
Potrek: а пока что ничего нет(

Ответы на вопрос

Ответил BobbyFresnel
0

Sub Strange()

   Dim r As Range, a As Variant, b As Variant, e As Variant, Max As Variant

   Set r = Selection

   a = r

   Max = -1E+100

   For Each e In a

       If e < 0 And e > Max Then

           Max = e

       End If

   Next

   Dim i As Integer, j As Integer

   b = a

   j = LBound(b, 2) - 1

   For i = LBound(a, 2) To UBound(a, 2)

       If a(1, i) = Max Then

           j = j + 1

           b(1, j) = i

       End If

   Next

   Set r = Range(Cells(2, 1), Cells(2, j))

   Rows(2).Clear

   r = b

End Sub

Приложения:
Новые вопросы