excel 中利用宏自动生成图表的代码(柱状图,饼图和折线图)

由于excel中的数据是不固定的,不知道怎么通过宏获得excel中数据的总数并且生成图表,求实现此图表的宏代码

建议,你打开“宏-录制宏”,然后手工操作一次通过数据生成图表的过程,最后再按“停止录制”,然后按ALT+F11就能看到这个生成图表的宏代码了。追问

手工操作是选中一定的数据,但是这个excel每次导出里面的数据是不固定的,这样用手工操作创建的宏就不能使适用所有的情况,如何向宏里面传递参数?

追答

需要用INPUTBOX函数输入区域,比如你录制的宏代码大致如下:

Sub Macro1()
    Range("A1:D6").Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:D6")
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
End Sub

数据区域在A1:D6,现在修改这个代码,添加一个INPUTBOX函数行,去掉原来的选取固定区域行Range("A1:D6").Select,再修改倒数第三行就可以了,修改后的代码如下:

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

运行这个代码,会弹出一个窗口,你只要输入正确的数据区域,就能自动生成一个图表。

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