VBA更新图表范围从variables行
我有一个程序,应该从文件读取值,生成graphics和执行计算。
它导入一个两列/17000+行数据集,它需要从特定范围生成图表。 第一列包含位移数据,来回循环-5到5毫米。 我需要分析从-2.5到-4.5和从2.5到4.5mm在每个周期的结果。
问题在于,对于不同的数据集合,包含范围的极限的行的数目可以变化。
我使用MATCH
函数来获取范围的开始和结束的行号。 例如:
=MATCH(2.5,Data!B200:B230,1)+199 =MATCH(4.5,Data!B260:B290,1)+260
在我的情况下,它分别产生216
和272
。
我的问题是:如何在VBA代码中使用这些值来自动更新具有正确数据集的graphics? 目前范围固定如下:
Sheets("Main").ChartObjects("Chart 12").Activate 'Cycle 1 - Evaluation(tension) ActiveChart.SeriesCollection(1).XValues = "=Data!$B$216:$B$272" ActiveChart.SeriesCollection(1).Values = "=Data!$C$216:$C$272"
感谢和问候
Dim
两个variables,如i
和j
,然后在stringvariables中使用它们来创build您的Series
XValues
和Values
属性的Values
。 例如:
Dim i As Long, j As Long Dim ref1 As String, ref2 As String i = 216 'update with your MATCH formula j = 272 'update with your MATCH formula ' create the references as string variables ref1 = "=Data!$B$" & i & ":$B$" & j ref2 = "=Data!$C$" & i & ":$C$" & j Sheets("Main").ChartObjects("Chart 12").Activate 'Cycle 1 - Evaluation(tension) ActiveChart.SeriesCollection(1).XValues = ref1 ActiveChart.SeriesCollection(1).Values = ref2