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 

在我的情况下,它分别产生216272

我的问题是:如何在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,如ij ,然后在stringvariables中使用它们来创build您的Series XValuesValues属性的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