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, что эквивалентно протаскиванию маркера
'
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
'
'
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. Построение круговых диаграмм и гистограмм
Рис. 106. Построение графика в диалоговом окне при выборе у=cos(x)
Рис. 107. Построение графика в диалоговом окне при выборе у=sin(x)
Рис. 108. Построение графика в диалоговом окне при выборе линейного типа
Рис. 109. Построение графика в диалоговом окне при выборе гистограммы
Рис. 110. Построение графика в диалоговом окне при выборе круговой диаграммы
Глава 9
Базы данных в Excel