excel 宏 编程:选取一个区域,要求生成两个折线图(前一半生成一个,后一半也生成一个),如何实现?

例如:选取一列(2n个数据),前n个生成一个折线图,后n个也生成一个折线图?请问如何用宏语句实现?
我在网上搜到类似的,但是这只是生成一个折线图的Range(t),那生成前一半,后一半的语句如何写呢?

Sub Macro2()
t = Application.InputBox("请用输入数据区域(例如:A1:D6)", Type:=2)
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(t)
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
End Sub
可能我没有把问题描述清楚,这里再罗嗦一句,编程的思路是:
1、获得选中一列的单元格首地址(假设行号为a, 列号为b),共2n行。
2、生成两幅折线图
①ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range( a & b & ":" & a & b+n)
②ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range( a & b+n & ":" & a & b+2n )

现在问题是,1、如何获取选中单元格行号 2、这里的语句写得不规范,通过不了。
哪位大侠能帮帮我?谢谢

调用下面的函数。(2007版以上excel适用)
两个函数选择的是同一数据作图,只是生成的图的位置不同。
sub ChartAdd1()
Range("a1:a8").Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=ActiveSheet.Range("$a$1:$a$8")
ActiveChart.ChartType = xlLineMarkers
With ActiveChart.Parent
.Left = 750 '此处用以修改图表在工作表中的位置
.Top = 3000
End With
Range("a1").Select
End Sub
Sub ChartAdd2()
Range("a1:a8").Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=ActiveSheet.Range("$a$1:$a$8")
ActiveChart.ChartType = xlLineMarkers
With ActiveChart.Parent
.Left = 750
.Top = 5700
End With
End Sub追问

很感谢您的回答。但是,问题是Range("a1:a8").Select是固定的,我想让Range()里的参数是自己选定的地址,请问应如何写?谢谢!

追答

不好意思,我还没有弄清楚

温馨提示:答案为网友推荐,仅供参考
相似回答