Сформировать одномерный массив, состоящий из
положительных, отрицательных и нулевых элементов. Используя VBA. среди
отрицательных элементов массива найти максимальный элемент. Создать новый массив,
состоящий из индексов элементов исходного массива, значения которых равны
найденному максимальному значению.
Создать таблицу, содержащую результат выполнения
процедуры, и командную кнопку для запуска процедуры.
Potrek:
сложно что-то, можно проще)
да у нас так проверяют элементов 10 будет максимум
на код одним глазом глянут, кнопку нажмут и на это все закончится
Начинается... Selection вернет Range, а в программе пишешь a = Range( ) и сразу a = массив нужного размера с его содержимым.
Это наоборот не слодно, а самое простое
Это же VBA, а не VB, надо Эксель задействовать по максимуму
ну можно через a=range((), range().end(xldown)).count
Это не нужно, так глубоко копать, строка-то одна. Все проще.
ну все равно, мне нужно чтобы оно было)
а пока что ничего нет(
Ответы
Ответ дал:
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
Приложения:
Чуть поправил, так правильнее
Вас заинтересует
1 год назад
1 год назад
1 год назад
1 год назад
3 года назад
3 года назад
8 лет назад