Помогите доделать программку макрос в VBA
Формулировка задачи:
Заставляют писать макрос в VBA, в котором работал давным давно.
И так, от меня хотят:
Поменять местами значения массива, имеющие минимальное и максимальное значение. Числа массива расположены в первых 10 строках и первых 3 столбцах.
Вот что наработал, но не получается то, что надо, подкорректируйте у кого с этим проще.
это 1-й вариант, и вот еще
не понимаю, в чем ошибся.
И так, от меня хотят:
Поменять местами значения массива, имеющие минимальное и максимальное значение. Числа массива расположены в первых 10 строках и первых 3 столбцах.
Вот что наработал, но не получается то, что надо, подкорректируйте у кого с этим проще.
это 1-й вариант, и вот еще
не понимаю, в чем ошибся.
Решение задачи: «Помогите доделать программку макрос в VBA»
textual
Листинг программы
DefLng A-Z Public Sub huh2() Dim n, m, a, b Dim tmp, d() Dim i, j Dim jmax, jmin, imax, imin n = InputBox("Введите количество строк массива", , 5) m = InputBox("Введите количество столбцов массива", , 3) a = InputBox("Введите нижнюю границу значений элементов массива", , 0) b = InputBox("Введите верхнюю границу значений элементов массива", , 50) ReDim d(n, m) Randomize For i = 1 To n For j = 1 To m d(i, j) = Int(a + Rnd * (b - a)) Cells(i, j) = d(i, j) Cells(i, j + 2 + m) = d(i, j) Next j Next i jmax = 1 jmin = 1 imax = 1 imin = 1 For i = 1 To n For j = 1 To m If d(i, j) > d(imax, jmax) Then jmax = j imax = i ElseIf d(i, j) < d(imin, jmin) Then jmin = j imin = i End If Next j Next i tmp = d(imax, jmax) d(imax, jmax) = d(imin, jmin) d(imin, jmin) = tmp Cells(imax, jmax) = d(imax, jmax) Cells(imin, jmin) = d(imin, jmin) End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д