VBA Excel中的数组变量
问题描述:
我正在构建一个宏来绘制由COGNOS创建的报表。不幸的是,这些报告是由另一个团队提供的。VBA Excel中的数组变量
图表的数据来自Excel,但标题可能会更改每个报表和数据源的数量也会更改。
这意味着在一周内星期一至星期五的数据可能包含6个来源,例如。列A至G(周一至周五)和行1至6
下一个数据表由COGNOS 2行产生,例如:行8
但下周有8种数据源,所以该表是更长的时间,所述第二表是在第10行
使用阵列我可以修复图表从报头收集有数据每个表的单元格放置在excel的哪个位置?
答
使用此功能可计算需要绘制的数据行。将它传递给表中的第一个元素,它将重新计算行数。
Public Function CountRows(ByRef r As Range) As Integer
If IsEmpty(r) Then
CountRows = 0
ElseIf IsEmpty(r.Offset(1, 0)) Then
CountRows = 1
Else
CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.count
End If
End Function
要选择多行,COLS使用Range("A2").Resize(20,8)
例如从“A2”扩大范围,包括20行和8列。剩下的就是通过对行和列进行计数并为图表选择适当的值来编程。请注意,最好使用RC样式设置图表系列的.XSeries
和YSeries
属性。例如:.YSeries="='Sheet1'!R2C3:R101C3"
根据您为表格测量的值设置适当的文本值。
你能以视觉形式给出一个例子吗?数据范围每次都会改变吗? – shahkalpesh 2010-11-08 18:30:11
您的描述中存在一些不一致之处。例如(周一至周五)= 5个设计,并使用列(A-G)= 7列和6行。请检查您的问题并发布屏幕截图样本。 – 2010-11-09 16:45:52