Предмет: Информатика,
автор: lozroman
в VBA
дана матрица.размерности 5 на 5. Поменять в каждой строке минимальный и максимальный элементы.
ввод с клавиатуры в лист exel
не нужны кнопки и лишние атрибуты,просто код на уровне дет.сада
Аноним:
Если "на уровне детсада", что же на напишете самостоятельно? Даже на детсад не тянете?
Ответы
Автор ответа:
0
Выделите на листе прямоугольную область ячеек с левым верхним углов в A1 и запустите программу, которая в каждой строке выделенной области обменяет местами содержимое ячеек с минимальным и максимальным значениями.
Sub abc()
a = Selection.Value
For i = 1 To UBound(a, 1)
aMin = a(i, 1): aMax = aMin
jMin = 1: jMax = 1
For j = 2 To UBound(a, 2)
If aMin > a(i, j) Then
aMin = a(i, j): jMin = j
End If
If aMax < a(i, j) Then
aMax = a(i, j): jMax = j
End If
Next j
Cells(i, jMin).Value = aMax
Cells(i, jMax).Value = aMin
Next i
End Sub
Sub abc()
a = Selection.Value
For i = 1 To UBound(a, 1)
aMin = a(i, 1): aMax = aMin
jMin = 1: jMax = 1
For j = 2 To UBound(a, 2)
If aMin > a(i, j) Then
aMin = a(i, j): jMin = j
End If
If aMax < a(i, j) Then
aMax = a(i, j): jMax = j
End If
Next j
Cells(i, jMin).Value = aMax
Cells(i, jMax).Value = aMin
Next i
End Sub
Sub pfl4()
Dim a(3, 3) As Integer
For i = 1 To 3
For j = 1 To 3
a(i, j) = Cells(i, j)
Next
Next
Max = a(1, 1)
For j = 1 To 3
If a(1, j) >= Max Then
Max = a(1, j)
Cells(10, 10) = Max
End If
If a(2, j) >= Max Then
Max = a(2, j)
Cells(10, 11) = Max
End If
If a(3, j) >= Max Then
Max = a(3, j)
Cells(10, 12) = Max
End If
Next
есть ли способ не перебрать каждый раз вот так вот эти максимумы, а потом ещё и минимумы,?
Похожие вопросы
Предмет: Русский язык,
автор: missRed158
Предмет: Українська мова,
автор: nivada78
Предмет: Английский язык,
автор: alinaa1555
Предмет: Физика,
автор: Diana0567
Предмет: Математика,
автор: pirisovsounc