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

UptoLike

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

20
и использовать вместе с ней заранее составленную (стандартную) про-
цедуру, заполняющую числами ячейки прямоугольного диапазона.
Идею организации подобного заполнения рассмотрим на следующем
простом примере
Пример 1.9. Подготовить в выделяемом квадратном диапазоне единич-
ную матрицу E.
Решение примера начнѐм с присвоения имѐн i, j, f соответственно
ячейкам I1, J1, F1 рабочего листа. Переменными i и j будем обозначать
соответственно строки и столбцы выделенного диапазона, а в ячейку с
именем f запишем формулу =ЕСЛИ(i=j; 1; 0) . В процедуре, запол-
няющей выделяемый диапазон, будем ссылаться на поименованные
ячейки:
Sub PutKoeff()
Dim R As Range
Set R = Application.InputBox(prompt:="Укажите матрицу", Type:=8)
i1 = R.Row: j1 = R.Column
For i = 0 To R.Rows.Count - 1
For j = 0 To R.Columns.Count - 1
Range("i") = i + 1 ' запись в ячейку i номера строки
Range("j") = j + 1 ' запись в ячейку j номера столбца
Cells(i1 + i, j1 + j) = Range("f") ' перезапись в ячейку диапазона значения из f
Next j
Next i
End Sub
Свяжем запуск данного макроса с фигурой (как это упомянуто
вскользь в разделе «Описание решения на Excel задачи A»). Для этого
вставим на лист (или, как это было сделано ранее, на рисунок SmartArt)
какую-либо фигуру, вызвав нажатием правой клавишей мыши контек-
стное меню, назначим макрос данному объекту. После этого макрос за-
пускается щелчком по фигуре, мы выделяем квадратный диапазон яче-
ек, в котором затем формируется единичная матрица.
В следующем примере разбирается более сложный случай.
и использовать вместе с ней заранее составленную (стандартную) про-
цедуру, заполняющую числами ячейки прямоугольного диапазона.
  Идею организации подобного заполнения рассмотрим на следующем
простом примере
Пример 1.9. Подготовить в выделяемом квадратном диапазоне единич-
ную матрицу E.
Решение примера начнѐм с присвоения имѐн i, j, f соответственно
ячейкам I1, J1, F1 рабочего листа. Переменными i и j будем обозначать
соответственно строки и столбцы выделенного диапазона, а в ячейку с
именем f запишем формулу =ЕСЛИ(i=j; 1; 0) . В процедуре, запол-
няющей выделяемый диапазон, будем ссылаться на поименованные
ячейки:
Sub PutKoeff()
Dim R As Range
Set R = Application.InputBox(prompt:="Укажите матрицу", Type:=8)
i1 = R.Row: j1 = R.Column
For i = 0 To R.Rows.Count - 1
 For j = 0 To R.Columns.Count - 1
   Range("i") = i + 1                              ' запись в ячейку i номера строки
   Range("j") = j + 1                              ' запись в ячейку j номера столбца
   Cells(i1 + i, j1 + j) = Range("f")   ' перезапись в ячейку диапазона значения из f
 Next j
Next i
End Sub
  Свяжем запуск данного макроса с фигурой (как это упомянуто
вскользь в разделе «Описание решения на Excel задачи A»). Для этого
вставим на лист (или, как это было сделано ранее, на рисунок SmartArt)
какую-либо фигуру, вызвав нажатием правой клавишей мыши контек-
стное меню, назначим макрос данному объекту. После этого макрос за-
пускается щелчком по фигуре, мы выделяем квадратный диапазон яче-
ек, в котором затем формируется единичная матрица.
  В следующем примере разбирается более сложный случай.

                                           20