Изменение позиций диаграммы при автоматическом создании нескольких диаграмм с помощью Vbasic в Excel 2007 - PullRequest
0 голосов
/ 25 мая 2010

Я создаю новую диаграмму для каждой строки данных в электронной таблице Excel. У меня Vbasic работает нормально, но я хочу изменить положение диаграммы на листе, добавляемом для каждой строки.

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

Sub DrawCharts()
Dim Ws As Worksheet
Dim NewWs As Worksheet
Dim cht As Chart
Dim LastRow As Long
Dim CurrRow As Long

Set Ws = ThisWorkbook.Worksheets("Sheet1")

LastRow = Ws.Range("A65536").End(xlUp).Row
For CurrRow = 2 To LastRow
    Set NewWs = ThisWorkbook.Worksheets.Add
    NewWs.Name = Ws.Range("A" & CurrRow).Value
    Set cht = ThisWorkbook.Charts.Add
    With cht
        .ChartType = xl3DColumnClustered
        .SeriesCollection.NewSeries
        .SeriesCollection(1).Values = "=" & Ws.Name & "!R" & CurrRow & "C3:R" & CurrRow & "C8"
        .SeriesCollection(1).Name = "=" & Ws.Name & "!R" & CurrRow & "C2"
    .SeriesCollection(1).XValues = "Sheet1!R1C3:R1C8"
    .Axes(xlValue).MinimumScale = 0
        .Axes(xlValue).MaximumScale = 1
        .Axes(xlValue).MajorUnit = 0.2
        .SetElement (msoElementDataLabelShow)
        .SetElement (msoElementLegendNone)
        .Location Where:=xlLocationAsObject, Name:=NewWs.Name
    End With
Next CurrRow
End Sub

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 мая 2010

После

.Location

поставить в этой строке:

.Left = 0
.Top = 0

Вы также можете попробовать

.PlotArea.Left = 0
.PlotArea.Top = 0

Это может дать немного другое размещение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...