Помогите доделать программку макрос в VBA

Узнай цену своей работы

Формулировка задачи:

Заставляют писать макрос в VBA, в котором работал давным давно.
И так, от меня хотят:
Поменять местами значения массива, имеющие минимальное и максимальное значение. Числа массива расположены в первых 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.444 из 5