我有一个程序,它应该从文件中读取值,生成图形并执行计算。
它导入两列/ 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代码中使用这些值来使用正确的数据集自动更新我的图形?目前该范围固定如下:
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"
感谢/问候
答案 0 :(得分:1)
Dim
两个变量,如i
和j
,然后在字符串变量中使用它们来创建XValues
和Values
属性的值Series
1}}。例如:
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