Создание диаграмм является одним из ключевых свойств приложения Excel. При этом можно выбрать целое множество типов, подходящих практически ко всем вообразимым данным. Существуют такие общие типы, как гистограммы, линейные графики, круговые диаграммы и более специализированные, такие как диаграммы рассеивания, и биржевые диаграммы. Вы имеете полное управление многими аспектами отображения диаграмм, такими как цвета фона, текста и линий, заголовки, легенды и оси. Настоятельно рекомендуется потратить некоторое время на работу с диаграммами Excel, чтобы познакомиться с доступными в них параметрами, так как объем настоящей книги не позволяет описать все детали данного вопроса.
Листы диаграмм и внедренные диаграммы
Рабочая книга Excel имеет два способа отображения диаграмм. Первый метод отображает каждую диаграмму на отдельном рабочем листе, называемом листом диаграммы (chart sheet). Лист диаграммы содержит только одну диаграмму и не содержит колонок и -бтрок данных. Второй метод отображает диаграмму внедренной на стандартном рабочем листе. В обоих случаях вид диаграмм остается одинаковым — отличается только способ их отображения.
Листы диаграмм представляются коллекцией Charts,’ которая содержит объект Chart для каждого листа диаграммы заданной рабочей книги (объекта Workbook) или активной рабочей книги (объект Application). Таким образом, следующий фрагмент выведет на печать все листы диаграмм рабочей книги
Sales.xls:
WorkbooksCSales.xls”).Charts.Printout
Добавить новый лист диаграммы в коллекцию можно следующим методом:
Charts.Add
Как и в других коллекциях, каждому листу диаграммы в коллекции Charts можно присвоить имя, чтобы потом по нему обращаться к этому объекту:
Dim ch As Excel,Chart Set ch=Charts.Add Ch.Name=”Sales”
Объект Chart
Каждая диаграмма в рабочей книге, будь она внедренной или расположенной на собственном листе, представлена объектом chart. Данные, которые отображает диаграмма, устанавливаются в методе SetSourceData объекта Chart. Его синтаксис:
MyChart.SetSourceData(Source, PlotBy) Аргумент Source является ссылкой на объект Range, в котором находятся данные для отображения в диаграмме. Этот аргумент является обязательным. Необязательный аргумент PlotBy определяет, будут ли данные организованы в серии по строкам (xlRows, по умолчанию) или по столбцам (xlColumns). Данные, выводящиеся на диаграммы, обычно организованы в прямоугольную таблицу, в которой левая колонка и верхняя строка содержат метки, идентифицирующие данные. Метод содержит и другие аргументы, но они не являются общими. Еще одной важной составляющей создания диаграммы является задание типа диаграммы. Он устанавливается в свойстве ChartType объекта Chart, его возможными значениями являются константы xlChartType. В приложении Excel
имеется 14 основных типов диаграмм, таких как гистограммы, линейные графики и т.п. каждый их этих типов имеет несколько подтипов. Например, константа xlColumnCkastered задает обычную гистограмму, a xlColumnStacked — гистограмму с накоплением и т.п. Вместо перечисления здесь всех констант типов диаграмм, я предлагаю для этого воспользоваться окном Object Explorer.
Перед тем как вдаваться в детали, рассмотрим несколько примеров. Следующий фрагмент программы создает новый лист диаграммы, создает трехмерную гистограмму, используя данные, а затем активирует этот лист.
Dim c As Excel.Chart Set с = Charts.Add c.ChartType = xl3DColumnClustered
с.SetSourceData Source:=Worksheets(”Лист1″).Range(”B2:F6″) c.Activate
Метод ChartWizard
Метод ChartWizard используется для изменения внешнего вида диаграммы. Это гораздо легче, чем последовательное изменение отдельных свойств диаграммы (хотя и такой метод также используется). Его синтаксис:
ChartToModifу.ChartWizard (Source, Gallery, Format, _ PlotBy, CategoryLabels, SeriesLabels, _ HasLegend, Title, ValueTitle, ExtraTitle)
Управление внешним видом диаграммы
Объект Chart имеет сложную структуру. Он имеет множество свойств и методов, которые управляют различными аспектами внешнего вида диаграммы. Он также содержит несколько под объектов, представляющих компоненты диаграммы, такие как оси. Таким образом, некоторые манипуляции с диаграммой требуют установки соответствующих свойств одного или нескольких подобъектов. Объект Legend представляет легенду диаграммы. Свойства этого объекта управляют общим внешним видом легенды, например, шрифтом и рамкой. Каждый отдельный элемент легенды представлен объектом LegendEntry в коллекции LegendEntries. Отображение легенды управляется свойством HasLegend объекта Chart, которое может быть установлено в значения True или False.
Каждая ось в диаграмме представлена объектом Axis в коллекции Axes. Внешний вид отдельных осей управляется установкой свойств соответствующего объекта Axis. Количество осей (если они вообще существуют) находится в свойстве HasAxis объекта Chart.
Объект ChartGroup представляет одну или более серий данных, которые выводятся на диаграмму и используют одинаковый формат. Каждая серия данных в объекте ChartGroup представлена объектом Series в коллекции SeriesCol-lection. В большинстве диаграмм один объект ChartGroup содержит лишь одну серию данных.
Объект ChartTitle представляет заголовок диаграммы. Свойства этого объекта задают текст и его внешний вид.
На двумерных диаграммах объект chart Area представляет область, содержа
щую оси, наименования осей, наименование диаграммы и легенду. На трехмер
ной диаграмме он представляет область, включающую заголовок и легенду.
Свойства этого объекта определяют размер и шаблон заполнения фона этой об
ласти диаграммы. :
Объект PlotArea представляет область самой диаграммы — там, где отображаются данные. Как на двумерной, так и на трехмерной диаграмме область диаграммы содержит маркеры данных, линии сетки, метки данных и соединительные линии. На трехмерных графиках эта область также содержит стены, основание и оси.
Объекты Floor и Walls представляют основание и стены на трехмерной диаграмме. Свойства этих объектов управляют цветом и другими аспектами внешнего вида оснований и стен трехмерной диаграммы.