Sanja, запускаю через окно модуля VBA кнопкой run, так как этот макрос не сохраняется в списке макросов (тот что на картинке). пытался добавить в тот же макрос еще один код, который и должен передавать ему 4 аргумента, но либо тот же результат, либо вылазила ошибка, что макрос gaus не определен. если создавать отдельный модуль - результат тот же. при этом другие макросы работают хорошо.
про то, что нужно передать 4 аргумента знал, но уже думаю, что наверное плохо понимаю как это работает, раз не выходит)
unitgod, к сожалению, не могу прикрепить конкретно мой файл, там куча листов и уже проделанной работы. но могу создать новый и сохранить там этот макрос) правда есть ли в этом смысл не знаю
вот код, которым пытался передать аргументы, но что-то тщетно с ним:
| Код |
|---|
Sub SolveLinearEquation()
Dim n As Integer
Dim A() As Double, F() As Double, X() As Double
Dim i As Integer, j As Integer
' Определить количество уравнений (число строк в матрице A)
n = Range("A1").CurrentRegion.Rows.Count
' Инициализировать массивы A() и F()
ReDim A(1 To n, 1 To n)
ReDim F(1 To n)
ReDim X(1 To n)
' Заполнить массив A() данными из указанных ячеек
For i = 1 To n
For j = 1 To n
A(i, j) = Cells(i, j).Value
Next j
Next i
' Заполнить массив F() данными из столбца свободных членов
For i = 1 To n
F(i) = Cells(i, n + 1).Value
Next i
' Вызвать процедуру для решения системы уравнений
Call sub_gaus(n, A, F, X)
' Вывести результат на лист Excel
For i = 1 To n
Cells(i, n + 2).Value = X(i)
Next i
End Sub
|