VBA 从可变行更新图形范围

VBA update graph range from variable rows

我有一个程序应该从文件中读取值、生成图表并执行计算。

它导入两列/17000 多行数据集,需要从特定范围生成图表。第一列包含从 -5 到 5mm 来回循环的位移数据。我需要分析每个周期从-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 代码中使用这些值来使用正确的数据集自动更新我的图表?目前范围固定如下:

Sheets("Main").ChartObjects("Chart 12").Activate 'Cycle 1 - Evaluation(tension)
ActiveChart.SeriesCollection(1).XValues = "=Data!$B6:$B2"
ActiveChart.SeriesCollection(1).Values = "=Data!$C6:$C2"

Thanks/Regards

Dim 两个变量,如 ij,然后在字符串变量中使用它们来创建 XValuesValues [=19 的值=] 你的 Series。例如:

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