我想在Excel中生成图表。我尝试在VBA中遵循以下代码。
Sub chrt()
'
' chrt Macro
'
'
Dim i As Integer
i = 3
Do While i < 6
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("STD 8-A").Range("B1:I1,Bi:Ii")
i = i + 1
Loop
End Sub
在该程序中,我想对范围使用自动递增(“ B1:I1, Bi:Ii ”) 其中循环中的i值和范围内的i的值可以更改和自动递增。 实际的语法是什么。 在上面的程序循环中正在工作,但范围无法正常工作,因此程序会生成空图表。
答案 0 :(得分:1)
在Range
取String
的同时,使用“ Bi:Ii”的字面意思是文本“ Bi:Ii”。
您需要先将i
(是Integer
)转换为字符串并与文本连接:
...blablabla...).Range("B1:I1, B" & trim(str(i)) & ":I" & trim(str(i)))