У меня не получается запустить программу. Пишет ошибку. Помогите,пожалуйста,разобраться в чем дело?
В среде VBA создать проект. В проекте использовать,объекты,свойства,методы.
Задание:
В выбранной матрице столбец, содержащий максимальный элемент матрицы, поменять местами со столбцом, содержащим минимальный элемент матрицы.
Код программы:
Dim m_min As Single
Dim m_max As Single
Public Property Get min() As Single
min = m_min
End Property
Public Property Let min(ByVal vvod As Single)
m_min = vvod
End Property
Public Property Get max() As Single
max = m_max
End Property
Public Property Let max(ByVal vvod As Single)
m_max = vvod
End Property
Option Explicit
Option Base 1
Dim a(4, 4) As Byte
Dim i As Byte
Dim j As Byte
Sub lab2()
Dim bufer As Single
Dim matrica1 As matrica
Set matrica1 = New matrica
Randomize
'заполнение массива
For i = 1 To 4
For j = 1 To 4
a(i, j) = Int(Rnd * 100)
Next j
Next i
'вывод массива
Range("A1").Select
For i = 1 To 4
For j = 1 To 4
ActiveCell.Offset(i - 1, j - 1).Value = a(i, j)
Next j
Next i
matrica1.max = maximst(0)
Range("F2").Select
ActiveCell.Value = matrica1.max
Range("F1").Select
ActiveCell.Formula = "max stolbec"
matrica1.min = minimst(100)
Range("G2").Select
ActiveCell.Value = matrica1.min
Range("G1").Select
ActiveCell.Formula = "min stolbec"
Range("A8:D12").Select
Selection.Clear
Range("A8").Select
If matrica1.min <> matrica1.max Then
ActiveCell.Formula = "Результат - матрица c поменяными столбцами (max и min элементы)"
For i = 1 To 4
bufer = a(i, matrica1.max)
a(i, matrica1.max) = a(i, matrica1.min)
a(i, matrica1.min) = bufer
Next i
Range("A8").Select
For i = 1 To 4
For j = 1 To 4
ActiveCell.Offset(i, j - 1).Value = a(i, j)
Next j
Next i
Else
ActiveCell.Formula = "Строки с минимумом и максимумом совпали"
End If
End Sub
Function maximst(max As Single)
For i = 1 To 4
For j = 1 To 4
If a(i, j) > max Then
max = a(i, j)
maximst = j
End If
Next j
Next i
End Function
Function minimst(min As Single)
For i = 1 To 4
For j = 1 To 4
If a(i, j) < min Then
min = a(i, j)
minimst = j
End If
Next j
Next i
End Function