2016-07-27 8 views
0

У меня есть таблица данных в Excel, заполненная SQL-запросом.VBA Excel Pivot Chart Data Point Marker, основанный на названии категории

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

Мне нужно показать данные до этого месяца (например, июль-2016) в одном цвете и будущем в другом. Я сделал свое исследование, и кажется, что я должен манипулировать исходными данными, чтобы сделать это (это означает, что результаты SQL-запроса должны быть изменены). В моем случае это невозможно.

Итак, я решил выделить пункт «Сегодня», чтобы показать, где прошлое и будущее встречаются. Как я могу это сделать с помощью VBA? Мне нужно что-то с этой логикой:

for i=1 to category.count 
if categoryname(i)="July-2016" then change marker style 
end if 
next 

Спасибо.

+0

Почему вы не можете добавить столбец в запрос? Это достаточно просто, чтобы не прибегать к VBA, чтобы манипулировать диаграммой. – teylyn

+0

Я думаю, я мог бы, но я не мог понять логику выполнения итогов для этой колонки. – Hope

ответ

0

Я использовал простые формулы Excel для определения индекса точки данных текущего месяца, а затем изменил цвет линии через макро зацикливание с самого начала проекта на текущий месяц:

 For i = 1 To DataPointIndex 
     ActiveChart.ChartArea.Select 
     ActiveChart.SeriesCollection(1).Select 
     ActiveChart.SeriesCollection(1).Points(i).Select 
     With Selection.Format.Line 
       .Visible = msoTrue 
       .ForeColor.RGB = RGB(255, 0, 0) 
       .Transparency = 0 
       .DashStyle = msoLineSolid  
     End With 

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