作者foreverkn (Last Dance)
看板Visual_Basic
标题[VBA ] 请问画图表的问题
时间Wed Apr 23 23:24:36 2008
请问大家
我用VBA来画一个直条图
我的直条图 X 轴为日期,Y 轴为次数
每一天我的资料来源会有变动
我就会执行一次重新画图的动作
我的程式码如下:
Dim i as Integer, j as Integer, EQR as Range, CountR as Range
'设定 i 值
i = WorksheetFunction.CountA(Columns("A:A"))
'设定 j 值
If EQ1 = "PA1" Then
j = 2
ElseIf EQ1 = "PA2" Then
j = 3
ElseIf EQ1 = "PA3" Then
j = 4
.
.
.
ElseIf EQ1 = "PA15" Then
j = 16
'设定日期为直条图的 X 轴
Set EQR = Sheets("机台").Range(Cells(2, 1), Cells(i + 1, 1))
'设定次数为直条图的 Y 轴
Set CountR = Sheets("机台").Range(Cells(2, j), Cells(i + 1, j))
'画图
ActiveSheet.ChartObjects("图表 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets("机台").Range(EQR, CountR)_
, PlotBy:=xlColumns
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = EQ1
End With
******************************************************************************
我遇到的问题是
假设现在 i = 4 , j =4
那 EQR 的范围是 Range("A2:A5")
CountR 的范围是 Range("D2:D5")
可是画图时,图呈现出来的的范围变成 Range("A2:D5")
A B C D
1
2
3
4
5
也就是我只要 A3:A5 以及 D3:D5 两行资料来画图
但是执行程式码後的图却画成 A3:D5 的情况
中间的B1 , B2 , ... , C1 , C2 , ...我不要的也画出来
请问我的程式码是否哪里有问题呢?
可以请大家帮我解惑一下吗?
感谢大家的回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.85.159
1F:→ foreverkn:我想应该是我在画图的时候Range设的不好 04/26 14:32
2F:→ foreverkn:真的没有人可以回答我的问题吗? 04/26 14:33