我有一系列数据,我想将其绘制成几张图。数据按日期排序,并根据先前条件在其旁边标记为TRUE条件的提取数据。
由于存在大量数据集,是否可以自动生成一系列图表?我知道如何使用记录宏功能创建宏,只是因为我不确定如何过滤数据来制作图形。
在下面的示例数据中,我将有2张图表,日期范围为1-3 Jan,另一张图表来自1月6日至7日。
E.g:
T/F Date Data
True 1-Jan 0.1
True 2-Jan 0.2
True 3-Jan 0.4
False 4-Jan 0.2
False 5-Jan 0.1
True 6-Jan 0.3
True 7-Jan 0.4
答案 0 :(得分:0)
这是可行的。动态创建图表是您应该放在库中以供将来参考的例程之一。我已经这样做了,代码如下。代码将基于x / y范围和位置创建图表。该位置允许图表在创建时排列在网格中。您将不得不对范围进行争论,以便您可以在其下方输入所需的输入。这应该只是迭代并跟踪要创建的图表。
唯一的关键步骤是使用ChartObjects.Add
创建新图表(包含定位数据),然后使用SeriesCollection.NewSeries
将一系列添加到图表中。
您可以在location
递增的情况下多次调用此代码,以创建所需的图表并将其放入网格中。
Sub CreateChartFromRange(xval As Range, yval As Range, location As Integer)
Dim height As Double, width As Double
height = 300
width = 300
Dim columns As Integer
columns = 3
'assume active sheet
Dim cht_obj As ChartObject
Set cht_obj = ActiveSheet.ChartObjects.Add( _
(location Mod columns) * width, _
(location \ columns) * height, _
width, _
height)
Dim ser As Series
Set ser = cht_obj.Chart.SeriesCollection.NewSeries
ser.Values = yval
ser.XValues = xval
'assume XY scatter type
ser.ChartType = xlXYScatter
End Sub