1

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

它导入两列/ 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!$B$216:$B$272"
ActiveChart.SeriesCollection(1).Values = "=Data!$C$216:$C$272"

感谢和问候

4

1 回答 1

1

Dim两个变量,例如ij然后在字符串变量中使用它们来XValuesValues您的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
于 2017-01-10T13:31:34.537 回答