关于excel宏的问题 通用宏的代码如何写

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:14:44
我录了一个用来画图的宏文件,可是它只能在我录的当前工作表(sheet7)中画图,我想在其它工作表(比如sheet8,sheet9等)中直接用这个宏文件画图,应该怎么做?是修改代码吗?应该怎么改?谢谢大虾指导!
我的宏文件VB代码如下:

Sub Macro7()
'
' Macro7 Macro
' 宏由 qx 录制,时间: 2007-4-2
'

'
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("Sheet7").Range("G5:G34"), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet7"
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
ActiveWindow.Visible = False
Windows("Industry_by_province.xls").Activate
Sheets("Sheet7").Select
End Sub
谢谢你!辛苦你了!!
我的意思是目前这个程序代码只能在当前工作表(sheet7)中画图,如果进入其它工作表(比如sheet8,sheet9等)运行这个宏仍然会回到sheet7并

给你把每句的含义写上注释吧,因为你的目标不是很明确,你根据注释稍做修改就可以用了

Sub Macro7()
'
' Macro7 Macro
' 宏由 qx 录制,时间: 2007-4-2
'

'
Charts.Add '增加EXCEL图表
ActiveChart.ChartType = xlLineMarkers '指定刚刚新加的EXCEL图表类型
ActiveChart.SetSourceData Source:=Sheets("Sheet7").Range("G5:G34"), PlotBy _
:=xlColumns '指定刚刚新加的EXCEL图表数据源,如果数据源发生变化,修改("Sheet7")为相应工作表名,("G5:G34")为相应区域即可
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet7"
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With '指定刚刚新加的EXCEL图表的坐标
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic '指定刚刚新加的EXCEL图表的坐标格式
ActiveWindow.Visible = False '把当前窗口隐藏,这句挺奇怪的
Windows("Industry_by_province.xls").Activate '激活指定EXCEL文件
Sheets("Sheet7").Select '激活指定的工作表,此处也就是数据源表