End If

If i = 1 Then

УрГрафика = «$A1» & Right(УрГрафика, n – 1)

End If

If i = n Then

УрГрафика = Left(УрГрафика, n – 1) & «$A1»

End If

End If

i = i + 1

Loop While i <= Len(УрГрафика)

ActiveSheet.Cells.Select

Selection.Clear

'Очистка на активном листе ранее введенных данных

ActiveSheet.Range(«A1»).Select

'Заполнение диапазонов значениями аргумента

With ActiveSheet

Range(«A1»).Value = х_нз 'Ввод в ячейку A1 начального значения

'Создание арифметической прогрессии по столбцу с указанным шагом и начальным значением

Range(«A1»).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=х_шаг, Stop:=х_пз, Trend:=False

End With

'Заполнение диапазона значениями функции

With ActiveSheet

nx = Range(«A1»).CurrentRegion.Rows.Count

'Определение числа строк в диапазоне заполнения

Range(«B1»).FormulaLocal = УрГрафика

'Ввод уравнения поверхности в ячейку B1

If IsError(Evaluate(УрГрафика)) = True Then

MsgBox «Ошибка в формуле», vbExclamation, «График»

Exit Sub

End If

'Заполнение диапазона Range(Cells(1, 2), Cells(nx, 2))

'начиная с ячейки B1, что эквивалентно протаскиванию маркера

'заполнения ячейки B1 на диапазон Range(Cells(1, 2),

Cells(nx, 2))

Range(«B1»).AutoFill Destination:=Range(Cells(1, 2), Cells(nx, 2)), Type:=xlFillDefault

End With

ActiveSheet.ChartObjects.Delete

'Удаление с рабочего листа всех ранее построенных диаграмм

ActiveSheet.Range(Cells(1, 2), Cells(nx, 2)).Select

'Выбор диапазона, по которому строится график

ActiveSheet.ChartObjects.Add(20, 19.5, 192, 192).Select

'Задание и выбор области на рабочем листе, где будет построен график,

'размер графика должен соответствовать размеру объекта Image1

Application.CutCopyMode = False

'Построение графика

ActiveChart.ChartWizard Source:=Range(Cells(1, 1), Cells(nx, 2)), Gallery:=xlLine, Format:=2, PlotBy:=xlColumns, CategoryLabels:=1, SeriesLabels:=0, HasLegend:=False, Title:='График',

CategoryTitle:='Аргумент', ValueTitle:='Функция y' & TextBox1.Text

ActiveSheet.ChartObjects(1).Activate

ActiveChart.Axes(xlValue).AxisTitle.Select

With Selection

HorizontalAlignment = xlCenter

VerticalAlignment = xlCenter

Orientation = xlUpward

End With

'Запись диаграммы в файл и загрузка картинки в Imagel

ActiveChart.Export Filename:='Graph.jpg',

FilterName:='JPEG'

UserForm1.Image1.Picture = LoadPicture(«graph.jpg»)

ActiveSheet.Range(«A1»).Select

End Sub

Private Sub CommandButton2 Click()

'Процедура закрытия диалогового окна

UserForm1.Hide

End Sub

Private Sub UserForm Initialize()

'Рисунок масштабируется с учетом относительных размеров

так, чтобы он помещался в объекте Imagel

With Imagel

PictureAlignment = fmPictureAlignmentTopLeft

PictureSizeMode = fmPictureSizeModeStretch

End With

End Sub

8.2. Построение круговых диаграмм и гистограмм

Создание VBA-программ

Пример 55. В диалоговое окно «Построение графика» (рис. 104) вводятся начальное, конечное значения аргумента и его шаг изменения. Уравнение графика жестко регламентировано. Программа сама переведет аргумент в ссылку на ячейку. После табуляции введенной функции программой и построения поверхности на рабочем листе этот график также отображается в объекте управления image, расположенном в диалоговом окне Построение графика (рис. 106, 107).

Пример 56. В диалоговое окно «Построение графика» (рис. 108) вводятся начальное, конечное значения аргумента и его шаг изменения. Уравнение графика вводится в текстовое окно. Программа сама переведет аргумент в ссылку на ячейку. Предусматривается выбор типа графика при построении графика функции. После табуляции введенной функции программой и построения поверхности на рабочем листе этот график также отображается в объекте управления image, расположенном в диалоговом окне Построение графика (рис. 108, 109, 110).

Рис. 106. Построение графика в диалоговом окне при выборе у=cos(x)

Рис. 107. Построение графика в диалоговом окне при выборе у=sin(x)

Рис. 108. Построение графика в диалоговом окне при выборе линейного типа

Рис. 109. Построение графика в диалоговом окне при выборе гистограммы

Рис. 110. Построение графика в диалоговом окне при выборе круговой диаграммы

Глава 9

Базы данных в Excel

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату