Предмет: Информатика, автор: Potrek

Сформировать одномерный массив, состоящий из
положительных, отрицательных и нулевых элементов. Используя 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

Приложения:
Похожие вопросы
Предмет: Геометрия, автор: enenlenen77
Предмет: Физика, автор: Ivanova207
Предмет: Геометрия, автор: enenlenen77
Предмет: Математика, автор: Виолетта2836
Предмет: Алгебра, автор: ГуманитарийRybch