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

UptoLike

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

7
Пример 1.3 использования процедур IptMatr, PrnMatr для ввода вы-
вода) из файла IptDat.txt чисел: 3, 2.5, 6, -2, 7, 13 (числа элементы
матрицы удобно расположить в файле как в матрице - по три в строке,
разделяя их пробелами или запятыми).
Sub Test_IptMatr()
Dim A(1, 2)
Open "IptDat.txt" For Input As #1 ' вариант исх. данных --->
Call IptMatr(A, 1, 2, 1)
Close 1
Call PrnMatr(A, 1, 2, 0, "A") ' результат вывода --->
End Sub
Вывод массива в диапазон ячеек строки
Sub FromMasToRow(ByVal Row, ByVal Column, ByRef A(), ByVal N)
Jc = Column
For j = 0 To N
Cells(Row, Jc) = A(j)
Jc = Jc + 1
Next j
End Sub
Вывод массива в диапазон ячеек столбца
Sub FromMasToColumn(ByVal Row, ByVal Column, ByRef A(), ByVal N)
' Вывод массива A(N) в диапазон ячеек $Row$Column:$(Row+N)$Column столбца
Ir = Row
For i = 0 To N
Cells(Ir, Column) = A(i)
Ir = Ir + 1
Next i
End Sub
Вывод матрицы в диапазон ячеек рабочего листа Excel
Sub FromMatrToRange(ByVal Row, ByVal Column, ByRef A(), ByVal M, ByVal N)
' Вывод матрицы A(M,N) в диапазон ячеек Row$Column:$(Row+M)$(Column+N)
Ir = Row
Матрица A(0:1, 0:2)
3,0 2,5 6,0
-2,0 7,0 13,0
3 2.5 6
-2 7 13
Пример 1.4. Обращение и результат вывода
Sub Row(): Dim A(1): A(0)=6: A(1)=7
Call FromMasToRow (1, 2, A, 1)
End Sub
Пример 1.5. Обращение и результат вывода
Sub Col(): Dim A(1): A(0)=11: A(1)=22
Call FromMasToColumn (1, 2, A, 1)
End Sub
A
B
1
2
A
B
C
D
1
6
7
Пример 1.3 использования процедур IptMatr, PrnMatr для ввода (и вы-
вода) из файла IptDat.txt чисел: 3, 2.5, 6, -2, 7, 13 (числа – элементы
матрицы удобно расположить в файле как в матрице - по три в строке,
разделяя их пробелами или запятыми).
Sub Test_IptMatr()
 Dim A(1, 2)
                                                                  3 2.5 6
 Open "IptDat.txt" For Input As #1 ' вариант исх. данных --->
                                                                 -2 7 13
 Call IptMatr(A, 1, 2, 1)
 Close 1                                               Матрица A(0:1, 0:2)
 Call PrnMatr(A, 1, 2, 0, "A") ' результат вывода ---> 3,0   2,5    6,0
                                                       -2,0  7,0    13,0
End Sub
Вывод массива в диапазон ячеек строки
Sub FromMasToRow(ByVal Row, ByVal Column, ByRef A(), ByVal N)
Jc = Column                     Пример 1.4. Обращение и результат вывода
For j = 0 To N                  Sub Row(): Dim A(1): A(0)=6: A(1)=7
  Cells(Row, Jc) = A(j)         Call FromMasToRow (1, 2, A, 1)
  Jc = Jc + 1                                                    A   B      C   D
                                End Sub
Next j                                                      1        6   7
End Sub
Вывод массива в диапазон ячеек столбца
Sub FromMasToColumn(ByVal Row, ByVal Column, ByRef A(), ByVal N)
' Вывод массива A(N) в диапазон ячеек $Row$Column:$(Row+N)$Column столбца
Ir = Row
                            Пример 1.5. Обращение и результат вывода            A   B
For i = 0 To N
                            Sub Col(): Dim A(1): A(0)=11: A(1)=22
 Cells(Ir, Column) = A(i)                                                1          11
                            Call FromMasToColumn (1, 2, A, 1)
 Ir = Ir + 1
                            End Sub                                      2          12
Next i
End Sub
Вывод матрицы в диапазон ячеек рабочего листа Excel
Sub FromMatrToRange(ByVal Row, ByVal Column, ByRef A(), ByVal M, ByVal N)
' Вывод матрицы A(M,N) в диапазон ячеек Row$Column:$(Row+M)$(Column+N)
Ir = Row

                                          7