Excel очень удобен для создания диаграмм из данных на листе. Что, если вы хотите создать диаграмму прямо из VBA, без использования каких-либо данных на листе? Вы можете сделать это, «обманув» Excel, заставив его думать, что он работает с информацией из рабочего листа, а затем предоставить свою собственную.

Следующий макрос иллюстрирует эту концепцию:

Sub MakeChart()

'Add a new chart     Charts.Add

'Set the dummy data range for the chart     ActiveChart.SetSourceData Sheets("Sheet1").Range("a1:d4"), _       PlotBy:=xlColumns

'Manually set the values for the data series     ActiveChart.SeriesCollection(1).Formula = _       "=SERIES(""First Data"",{""a"",""b"",""c"",""d""},{2,3,4,5},1)"

ActiveChart.SeriesCollection(2).Formula = _       "=SERIES(""Second Data"",{""a"",""b"",""c"",""d""},{6,7,8,9},2)"

ActiveChart.SeriesCollection(3).Formula = _       "=SERIES(""Third Data"",{""a"",""b"",""c"",""d""},{10,11,12,13},3)"

End Sub

Комментарии в этом примере объясняют, что происходит на каждом этапе.

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

Позже, когда вручную устанавливаются значения для серии данных, команда SERIES используется для указания метки для серии (первые данные, вторые данные и третьи данные), массива меток категорий (a, b, c и d во всех сериях), массив значений для серии и число, указывающее, какой номер серии он представляет.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2622) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Creating_Charts_in_VBA [Создание диаграмм в VBA].