VBA-Матрица,диагональ(главная,побочная) - VBA

  1. Дана квадратная матрица порядка N. Вывести столбец матрицы, в котором элемент, стоящий на главной (побочной) диагонали, минимален, среди элементов главной диагонали.


textual

Код к задаче: «VBA-Матрица,диагональ(главная,побочная) - VBA»

Sub test()
    
    Dim matrix() As Integer
    Dim n As Variant
    Dim mColumn As Variant
    Dim minValue As Integer
    Dim maxValue As Integer
    Dim minElement As Integer
    Dim nr As Integer
    
    minValue = 0
    maxValue = 20
      
    Cells.Clear
    n = InputBox("n = ")
    ReDim matrix(1 To n, 1 To n)
    
    For i = 1 To n
        For j = 1 To n
            matrix(i, j) = Int((maxValue - minValue + 1) * Rnd + minValue)
        Next j
    Next i
    
    ReDim mColumn(1 To n)
    minElement = matrix(1, 1)
    
    For i = 1 To n
        For j = 1 To n
            If i = j Then
                If minElement > matrix(i, j) Then
                    nr = j
                    minElement = matrix(i, j)
                End If
            End If
        Next j
    Next i
    
    For i = 1 To n
        mColumn(i) = matrix(i, nr)
    Next i
    
    Range(Range("A1"), Range("A1").Offset(n - 1, n - 1)) = matrix
    Range(Range("A1").Offset(0, n + 3), Range("A1").Offset(0, n + 3).Offset(n - 1, 0)) = WorksheetFunction.Transpose(mColumn)
    
    For i = 0 To n - 1
        Range("A1").Offset(i, i).Interior.Color = 14408946
    Next i
    
End Sub

СДЕЛАЙТЕ РЕПОСТ

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



Похожие ответы
  1. Заполнить любые 10 ячеек случайными числами в диапазоне от 1 до 90 и раскрасить их разными цветами в следующем порядке: от 1 до 30 - желтый; от 31 до 60 - синий; от 61 до 90 - зеленый.

  1. Ребзя, помогите, пожалуйста. Есть условие: Есть 2 матрицы 6х6. Для матрицы, в которой выполняется условие "больше отрицательных элементов", ищется сумма положительных в каждой строке. Есть код. На выходе итоговый столбец полностью зануляется, хотя того не должно быть. Что я делаю не так?)

  1. Добрый день! Требуется написать программу в VBA: Дан текст, слова которого отделяются друг от друга пробелами. Вывести исходный текст, таким образом, чтобы все слова, длиной более пяти символов, начинались бы с прописной буквы. Я написал, но у меня выходит что все слова выводит с прописной буквы, как изменить мой код-формирование строки вывода (именно изменит мой) чтоб только слова длинной более 5 выводило с прописной ?

  1. Здравствуйте,помогите пожалуйста написать код к задаче: Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше — положительное или отрицательное.

  1. День добрый... Подскажите, где я "туплю": При вызове ReloadFIO говорит "несовпадение типов 13":

  1. Напишите процедуру на языке VBA для нахождения функции y(x)=(x²+x³)/(x⁴+x^6+5).Вычисление x^k оформить в виде функции

  1. Форумчане, помогите кто-нибудь! Перерыл все что мог, но бестолку. Макрос открывает адрес страницы сайта, если прописать ссылку в самом макросе или переменной присвоить ссылку. Но если переменой присвоить ячейку, где находится ссылка сайта, то на .send выдает ошибку. Как открыть адрес страницы, которая находится в ячейке листа Екселя?strURL = "http://www.cyberforum.ru/vba/" - открывает strURL = Cells(1,1) - не открывает !!! With CreateObject("Microsoft.XMLHTTP") .Open "GET", strURL, "False" .send If .statustext = "OK" Then s = .responsetext 'HTML-код страницы End If End With

  1. Добрый день! Нужна помощь. Есть 1000 файлов эксель *.xls в каждом по 9 вкладок(в некоторых определенная вкладка может отсутствовать) и на каждой стоит фильтр. У меня есть Add-on RDBMerge который объеденяет по определенной вкладке, но дело в том, что фильтр он не трогает и половина информации не копируется. Можно ли сделать макро который просто пройдется по всем файлам и просто снимет фильтры, сохраняя файл? Заранее спасибо!!

  1. Как вычислить п такого ряда. п/4=1-1/3+1/5-1/7±... 100 членов