我每5秒获取一次数据(12)
,我想在数据输入停止后将它们放在图表上。我想通过分别阅读每一行来使图表动态化。如何避免必须写每一行?我需要以某种方式获取该范围内的偏移代码并使它循环。
最大的问题是我对编写代码一无所知,我记录下来并试图找出类似的答案。我一点都没有IT背景。
ActiveSheet.ChartObjects("Grafiek 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.SetSourceData Source:=Sheets("Blad1").Range("A1:F2"), _
PlotBy:=xlRows
ActiveChart.SetSourceData Source:=Sheets("Blad1").Range("A1:F1,A3:F3"), _
PlotBy:=xlRows
ActiveChart.SetSourceData Source:=Sheets("Blad1").Range("A1:F1,A4:F4"), _
PlotBy:=xlRows
我希望范围自动增大(即a3:f3-> a4:f4-> ...),因此每行数据都分别放在图表上(我使用1秒延迟)。
答案 0 :(得分:0)
Range
对象使用字符串作为参数,因此您应该能够像这样循环遍历您的行:
Dim intRowCount as Integer
Dim intTotalRows as Integer 'You will have to give this a value
For intRowCount = 1 to intTotalRows
'Your 1 second delay goes here
Dim strRangeString as String
strRangeString = "A1:F1,A" & Trim(Str(intRowCount + 2)) & ":F" & Trim(Str(intRowCount + 2)) 'Or whatever your row offset is
ActiveChart.SetSourceData Source:=Sheets("Blad1").Range(strRangeString), _
PlotBy:=xlRows
Next intRowCount