Программирование
Веб программирование

Array in Excel 2003 (Массивы в VBA Excel 2003)

 
 

Эта программа строит массив случайных чисел на листе Excel 2003, считает сумму элементов по строке массива, произведение по строке массива, максимальный и минимальный элементы массива, также их разность, среднее арифметическое по строке. 

Private Sub CommandButton1_Click()
Cells.Select 'Выделяем все ячейки листа'
Selection.ClearContents 'Очищаем все ячейки листа'
Dim i, j, Summ, Proisv, Min, Max As Integer 'i, j - размерность массива, Summ -сумма элементов в строке'
'Proisv - произведение, Min - минимальный элемент,Max -максимальный элемент'
For i = 1 To 10
Summ = 0 'Обнуляем при каждом новом переборе элементов строки'
Proisv = 1 'Нужно, а если на ноль умножать, то будет ноль!'
Min = Cells(i, 1)
Max = Cells(i, 1)
For j = 1 To 10
Cells(i, j) = Int(Rnd(1) * 10 - 2)
Summ = Summ + Int(Cells(i, j))
Proisv = Proisv * Int(Cells(i, j))
If Cells(i, j) < Min Then Min = Cells(i, j)
If Cells(i, j) > Max Then Max = Cells(i, j)
'Вывод ответа'
Cells(i, 12) = "Сумма:"
Cells(i, 13) = Summ
Cells(i, 14) = "Произведение:"
Cells(i, 15) = Proisv
Cells(i, 16) = "Min:"
Cells(i, 17) = Min
Cells(i, 18) = "Max:"
Cells(i, 19) = Max
Cells(i, 20) = "Max-Min:"
Cells(i, 21) = Cells(i, 19) - Cells(i, 17)
Cells(i, 22) = "Ср.Ариф.:"
Cells(i, 23) = Summ / 10
Next j
Next i
Range("A1").Select
End Sub

Создаем пользовательскую форму, на ней кнопку, обработка события "Клик" - этот код!В принципе можно обработать и матрицу, которую пользователь сам формирует, т.е. вводит в ячейки матрицы свои значения, но тут возникает иная проблема, что если в матрицу он вводит буквы, на такой случай нужен ещё обработчик…


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.