Решение задач в Excel на VBA. Применение программных средств в проектировании автомобильных конструкций. Калядин В.И. - 9 стр.

UptoLike

Составители: 

9
Ввод матрицы из диапазона ячеек рабочего листа Excel
Sub FromRangeToMatr(ByRef A(), ByVal M, ByVal N)
' Ввод матрицы A(M,N) из диапазона ячеек рабочего листа Excel
Dim R As Range
Set R = Application.InputBox(prompt:="Укажите матрицу", Type:=8)
For i = 0 To M
If i >= R.Rows.Count Then Exit For
For j = 0 To N
If j >= R.Columns.Count Then Exit For
A(i, j) = R(i + 1, j + 1)
Next j
Next i
End Sub
Пример 1.8 использования процедуры FromRangeToMatr для ввода
даных:
Sub Test_FromRangeToMatr()
Dim A(1, 2)
Call FromRangeToMatr(A, 1, 2) ) ' выделенные ячейки --->
Debug.Print A(0, 0); A(0, 1); A(0, 2) ' результат вывода --->
Debug.Print A(1, 0); A(1,1); A(1, 2) ' результат вывода --->
End Sub
Замечание. При выделении объединения диапазонов процедура использует лишь
первый указанный диапазон.
1.2. Изучение в Excel метода Гаусса
Задача A. Автоматизировать вычисления для практического изучения в
Excel метода Гаусса решения систем линейных алгебраических уравне-
ний (СЛАУ) с выбором главного элемента по столбцу.
Напомним один из основных методов решения СЛАУ
метод исключения Гаусса с выбором главного элемента по столбцу.
Решение системы начинается с прямого хода, который выполняется
по шагам. На 1-ом (
1k
) шаге прямого хода с помощью первого урав-
нения исключают из последующих уравнений неизвестное
k
x
(если ко-
A
B
C
D
1
11
12
13
2
21
22
23
Ввод матрицы из диапазона ячеек рабочего листа Excel
Sub FromRangeToMatr(ByRef A(), ByVal M, ByVal N)
' Ввод матрицы A(M,N) из диапазона ячеек рабочего листа Excel
Dim R As Range
Set R = Application.InputBox(prompt:="Укажите матрицу", Type:=8)
For i = 0 To M
 If i >= R.Rows.Count Then Exit For
 For j = 0 To N
  If j >= R.Columns.Count Then Exit For
  A(i, j) = R(i + 1, j + 1)
 Next j
Next i
End Sub
Пример 1.8 использования процедуры FromRangeToMatr для ввода
даных:                                         A B    C D
Sub Test_FromRangeToMatr()                  1     11 12 13
Dim A(1, 2)
                                                            2       21   22   23
Call FromRangeToMatr(A, 1, 2) ) ' выделенные ячейки --->
 Debug.Print A(0, 0); A(0, 1); A(0, 2) ' результат вывода --->   11 12 13
 Debug.Print A(1, 0); A(1,1); A(1, 2) ' результат вывода --->    21 22 23
End Sub
Замечание. При выделении объединения диапазонов процедура использует лишь
первый указанный диапазон.
   1.2. Изучение в Excel метода Гаусса
Задача A. Автоматизировать вычисления для практического изучения в
Excel метода Гаусса решения систем линейных алгебраических уравне-
ний (СЛАУ) с выбором главного элемента по столбцу.
 Напомним один из основных методов решения СЛАУ –
метод исключения Гаусса с выбором главного элемента по столбцу.
  Решение системы начинается с прямого хода, который выполняется
по шагам. На 1-ом ( k  1 ) шаге прямого хода с помощью первого урав-
нения исключают из последующих уравнений неизвестное xk (если ко-
                                          9