Самоучитель VBA


         

В построенной диаграмме ухватитесь за



  • В построенной диаграмме ухватитесь за маркер изменения размера и увеличьте размер диаграммы. После этого, ухватившись за маркер переноса, переместите диаграмму в требуемое место на рабочем листе.

    Перечисленные выше действия будут переведены MacroRecorder в следующий макрос.

    Sub Макрос1() '

    ' Макрос1 Макрос

    ' Макрос запиг.лн 27.04.99 (Андрей)

    Charts.Add

    AcliveChart.ChartType = xlLineMarkers

    ActiveChart.SetSourceData _

    Source:=Sheets("Лист!").Range("B2:В12"),

    PlotBy:=xlColumns

    ActiveChart.SeriesCollection(1).XValues = "=Лист1!R2C1:R12C1"

    ActiveChart.Location Where:=xlLocationAsObject, Name:="Лиcтl" With

    ActiveChart

    .HasTitle = False

    .Axes(xlCategory, xlPrimary).HasTitle = False

    .Axes(xlValue, xlPrimary).HasTitle = False

    End With

    With ActiveChart .HasTitle = True

    .ChartTitle.Characters.Text = "Зависимость корня от параметра"

    .Axes (xlCategory, xlPrimary)

    .HasTitle = True

    .Axes(xlCategory, xlPrimary)

    .AxisTitle.Characters.Text = "Параметр"

    .Axes(xlValue, xlPrimary)

    .HasTitle = True

    .Axes(xlValue, xlPrimary)

    .AxisTitle.Characters.Text = "Корень"

    End With

    ActiveSheet.ChartObjects("Диагр. 14")

    .Activate ActiveChart.ChartArea.Select

    ActiveSheet.Shapes("Диагр. 14")

    .ScaleHeight 1.17, msoFalse,

    msoScaleFromBottomRight

    ActiveSheet.Shapes("Диагр. 14")

    .IncrementLeft 124.5

    ActiveSheet.Shages("Диагр. 14")

    .IncrementTop -25.5

    End Sub

    He трудно заметить, что данный макрос построения диаграмм сильно привязан к конкретному диапазону данных, рабочему листу и имени диаграммы. В процедуре построениеГрафика этот макрос существенно видоизменен для того, чтобы избавиться от этих обременительных ограничений. Кроме того, в ней предусмотрено удаление всех ранее построенных на рабочем листе диаграмм с тем, чтобы они не наслаивались друг на друга при многократном запуске приложения на одном и том же рабочем листе.

    Процесс создания процедур для построения графиков с использованием MacroRecorder, особенно для избавления процедуры от привязки к конкретному диапазону данных, рабочему листу и имени диаграммы, кому-то может показаться излишне искусственным.

    Содержание  Назад  Вперед