Создание диаграммы Excel, которая использует данные из нескольких листов - PullRequest
0 голосов
/ 16 февраля 2011

Рассмотрим следующий случай:

  • У меня есть одна книга Excel с четырьмя листами.
  • Каждый лист представляет одну четверть года.
  • Каждый лист содержит 2 столбца:
    • Дата
    • Доход

Теперь я хочу создать линейный график для ежедневного дохода за весь год.
Ось X должна начинаться 1 января (первая строка первого столбца первого листа) и заканчиваться 31 декабря (последний ряд первого столбца четвертого листа).
Должен быть указанодиночная линия, отображающая ежедневные продажи за этот год по оси Y.

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Вот подпрограмма, чтобы вы начали автоматизировать добавление диаграммы

Sub zx()
    Dim wb As Workbook
    Dim sh As Worksheet
    Dim Chrt As Chart
    Dim Srs As Series

    Set wb = ActiveWorkbook
    Set Chrt = wb.Charts.Add(After:=wb.Worksheets(wb.Worksheets.Count))
    Chrt.ChartType = xlXYScatterLines
    Chrt.SeriesCollection(1).Delete
    Chrt.Name = "Annual Trend"

    Set Srs = Chrt.SeriesCollection.NewSeries
    Srs.Name = "Q1"
    Set sh = wb.Sheets("Quarter1")
    Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address
    Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address

    Set Srs = Chrt.SeriesCollection.NewSeries
    Srs.Name = "Q2"
    Set sh = wb.Sheets("Quarter2")
    Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address
    Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address

    Set Srs = Chrt.SeriesCollection.NewSeries
    Srs.Name = "Q3"
    Set sh = wb.Sheets("Quarter3")
    Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address
    Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address

    Set Srs = Chrt.SeriesCollection.NewSeries
    Srs.Name = "Q4"
    Set sh = wb.Sheets("Quarter4")
    Srs.XValues = "=" & sh.Name & "!" & sh.UsedRange.Columns(1).Address
    Srs.Values = "=" & sh.Name & "!" & sh.UsedRange.Columns(2).Address
End Sub
1 голос
/ 16 февраля 2011

Я думаю, что самое простое, что нужно сделать, это добавить пятый лист в вашу книгу, который ссылается на ячейки из других 4 листов. Затем создайте свой график из данных на пятом листе.

Кроме того, я думаю, что вы получите лучшие результаты с помощью графика рассеяния XY, если вы используете линейный график, ось X предварительно определена, но в вашем случае вы хотите, чтобы ось X была датой.

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