ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
