Макрос для матрицы в MICROSOFT EXCEL - VBA
Формулировка задачи:
Найти сумму всех элементов матрицы 5x5, расположенных под главной диагональю, и разделить ее на произведение максимального и минимального элемента 3 колонки.
Очень рассчитываю на вашу помощь! Заранее благодарю!
Решение задачи: «Макрос для матрицы в MICROSOFT EXCEL»
textual
Листинг программы
- Sub SumMatrix()
- On Error GoTo M
- Const iSelCol As Long = 3 'столбец, по которому ищется максимум и минимум
- Const M As Long = 5 'количество строк
- Const N As Long = 5 'количество столбцов
- Dim i As Long, j As Long
- Dim iMax As Long, iMin As Long
- Dim iSum As Single
- Dim s As String
- Dim x(M, N) As Long
- For i = 1 To M
- For j = 1 To N
- x(i, j) = 40 * Rnd
- Next j
- Next i
- iMax = x(1, iSelCol)
- iMin = iMax
- For i = 1 To N
- iMax = IIf(iMax < x(i, iSelCol), x(i, iSelCol), iMax)
- iMin = IIf(iMin > x(i, iSelCol), x(i, iSelCol), iMin)
- Next i
- For i = 2 To M
- For j = 1 To i - 1
- iSum = iSum + x(i, j)
- Next j
- Next i
- MsgBox "iMin = " & iMin & vbCrLf & _
- "iMax = " & iMax & vbCrLf & _
- "iSum = " & iSum & vbCrLf & _
- "iSum/iMin = " & iSum / iMin & vbCrLf & _
- "iSum/iMax = " & iSum / iMax
- Exit Sub
- M:
- s = "Невозможно выполнить деление."
- Select Case Err.Number
- Case 11
- If Not iMax Then
- MsgBox (s & " Максимальный элемент равен 0.")
- Else
- MsgBox (s & " Минимальный элемент равен 0.")
- End If
- Case Else
- MsgBox "Извините, произошла непредвиденная ошибка."
- End Select
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д