Аннотация
В Microsoft Excel нет встроенной команды, которая автоматически присоединяет текстовые метки к точкам данных в xy (точечной) или пузырьковой диаграмме. Однако вы можете создать макрос Microsoft Visual Basic для приложений, который делает это. Эта статья содержит пример макроса, который выполняет эту задачу на точечной диаграмме XY. Однако тот же код можно использовать для пузырьковой диаграммы.
Дополнительная информация
Корпорация Майкрософт предоставляет примеры программирования только для иллюстраций без гарантий, выраженных или подразумеваемых. Это включает, помимо прочего, подразумеваемые гарантии товарной пригодности или пригодности для конкретной цели. В этой статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры для предоставления дополнительных функциональных возможностей или создания процедур в соответствии с вашими конкретными требованиями. В примере кода в этой статье предполагается, что данные и связанные метки упорядочены на листе в следующем формате:
-
Первый столбец содержит метки данных.
-
Второй столбец содержит значения x для точечной диаграммы xy.
-
Третий и последующие столбцы содержат значения y для точечной диаграммы xy.
ПРИМЕЧАНИЕ. Хотя приведенный пример содержит только один столбец данных для значений y, можно использовать несколько рядов данных.Чтобы использовать макросы, описанные в этой статье, создайте диаграмму, используя следующие данные: A1: Метки B1: X Значения C1: Y Значения A2: DataPoint1 B2: 12 C2: 5 A3: DataPoint2 B3: 9 C3: 7 A4: DataPoint3 B4: 5 C4: 3 A5: DataPoint4 B5: 4 C5: 8 A6: DataPoint5 B6: 1 C6: 4 ПРИМЕЧАНИЕ. Таблица не должна содержать пустые столбцы, а столбец, содержащий метки данных, не должен отделяться от столбца, содержащего значения x. Метки и значения должны быть изложены в формате, описанном в этой статье. (Верхняя левая ячейка не должна быть ячейкой A1.) Чтобы прикрепить текстовые метки к точкам данных на точечной диаграмме XY, выполните следующие действия.
-
На листе, который содержит пример данных, выберите диапазон ячеек B1:C6.
-
В Microsoft Office Excel 2003 и более ранних версиях Excel выполните следующие действия.
-
Щелкните Диаграмма в меню Вставка.
-
В диалоговом окне Мастер диаграмм — шаг 1 из 4 — Тип диаграммы перейдите на вкладку Типы Standard. В разделе Тип диаграммы выберите XY (точечная) и нажмите кнопку Далее.
-
В диалоговом окне Мастер диаграмм — шаг 2 из 4 — Исходные данные диаграммы перейдите на вкладку Диапазон данных. В разделе Ряды в щелкните Столбцы, а затем нажмите кнопку Далее.
-
В диалоговом окне Мастер диаграмм — шаг 3 из 4 — Параметры диаграммы нажмите кнопку Далее.
-
В диалоговом окне Мастер диаграмм — шаг 4 из 4 — Расположение диаграммы выберите параметр Как новый лист и нажмите кнопку Готово.
В Microsoft Office Excel 2007 выполните следующие действия.
-
Перейдите на вкладку Вставка , щелкните Точечная в группе Диаграммы и выберите тип.
-
На вкладке Конструктор щелкните Переместить диаграмму в группе Расположение , щелкните Создать лист и нажмите кнопку ОК.
-
-
Нажмите клавиши ALT+F11, чтобы запустить редактор Visual Basic.
-
В меню Вставка выберите команду Модуль.
-
Введите следующий пример кода на листе модуля:
Sub AttachLabelsToPoints() 'Dimension variables. Dim Counter As Integer, ChartName As String, xVals As String ' Disable screen updating while the subroutine is run. Application.ScreenUpdating = False 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(1).Formula 'Extract the range for the data from xVals. xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _ Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop 'Attach a label to each data point in the chart. For Counter = 1 To Range(xVals).Cells.Count ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _ True ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value Next Counter End Sub -
Нажмите клавиши ALT+Q, чтобы вернуться в Excel.
-
Переключитесь на лист диаграммы.
-
В Excel 2003 и более ранних версиях Excel наведите указатель мыши на пункт Макрос в меню Сервис, а затем выберите пункт Макросы. Щелкните AttachLabelsToPoints, а затем нажмите кнопку Выполнить, чтобы запустить макрос.В Excel 2007 перейдите на вкладку Разработчик , щелкните Макрос в группе Код , выберите AttachLabelsToPoints и нажмите кнопку Выполнить.
Макрос присоединяет метки в ячейках A2:A6 к точкам данных на диаграмме.