• в VBA
    дана матрица.размерности 5 на 5. Поменять в каждой строке минимальный и максимальный элементы.

    ввод с клавиатуры в лист exel
    не нужны кнопки и лишние атрибуты,просто код на уровне дет.сада

Ответы 6

  • я имеюю ввиду вот что: Sub pfl4()Dim a(3, 3) As IntegerFor i = 1 To 3 For j = 1 To 3 a(i, j) = Cells(i, j) NextNextMax = a(1, 1)For j = 1 To 3If a(1, j) >= Max ThenMax = a(1, j)Cells(10, 10) = MaxEnd IfIf a(2, j) >= Max ThenMax = a(2, j)Cells(10, 11) = MaxEnd IfIf a(3, j) >= Max ThenMax = a(3, j)Cells(10, 12) = MaxEnd IfNextесть ли способ не перебрать каждый раз вот так вот эти максимумы, а потом ещё и минимумы,?
    • Автор:

      kysonwaxv
    • 6 лет назад
    • 0
  • Я уже написал Вам работающий образец, как надо делать такие задачи. Это же VBA, а не Паскаль или С, надо использовать на полную его возможности!
  • А у Вас, извините, "школярский" алгоритм, с Паскаля "срисованый"
    • Автор:

      lobster
    • 6 лет назад
    • 0
  • Почему в мире много языков программирования? Потому, что каждый из них наиболее эффективен в какой-то своей области. VBA максимально эффективен при взаимодействии с Экселем, более эффективна только волшебная палочка.
    • Автор:

      britshaw
    • 6 лет назад
    • 0
  • Поэтому если Вы используете алгоритм, ориентированный на Паскаль, то и писать надо в Паскале.
    • Автор:

      vaughn
    • 6 лет назад
    • 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 iEnd Sub
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years