一个输入文件大约有500,000行。我想要做的主要事情是在整个单元范围内仅绘制出500,000个单元中的10,000个。有没有办法以编程方式使用图表中的第50个单元格?如果不是,最好的方法是将第50个单元格复制到一个新位置,然后绘图吗?
对于相对较小的数据量,可以将x和y-数据设置为单独单元格的列表。
最好在VBA中以编程方式完成。电子表格已重命名为“ A”,以使数据字符串尽可能小。to
和step
在循环中的值可以改变:
[...]
Dim xS As String
Dim yS As String
xS = "="
yS = "="
For i = 1 To 23000 step 50
If i > 1 Then
xS = xS & ","
yS = yS & ","
End If
xS = xS & "A!$A$" & CStr(i)
yS = yS & "A!$B$" & CStr(i)
Next
ActiveChart.FullSeriesCollection(1).XValues = xS
ActiveChart.FullSeriesCollection(1).Values = yS
[...]
但是,我不确定XValues String的最大长度是多少。首次测试显示至少4032个字符。这将使您每个Chart-SeriesCollection约有350至450个值。如果添加约30个系列,这可能是容纳10000个值对的解决方案。如果您更改日期,这会很麻烦并且值得。
如果要绘制静态数字列表,则最好以编程方式将单元格复制到第二个电子表格,然后绘制它们:
[...]
for i = 1 to 500000 step 50
destinationSheet.range(1,i/1000).value = sourceSheet.range(1,i).value
next
[...]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句