EXCEL宏代码编写

2022-08-09 科技 58阅读
给你把每句的含义写上注释吧,因为你的目标不是很明确,你根据注释稍做修改就可以用了

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 '激活指定的工作表,此处也就是数据源表
End Sub

---------------------------------------------------------

我给你做最最简单的修改吧,在开始由你指定数据源和图表所在工作表的名称。有什么问题可以再问,关键是你想怎么做。
Sub Macro7()
'
' Macro7 Macro
' 宏由 qx 录制,时间: 2007-4-2
'

'
strSheetName=InputBox("请输入数据源Sheet名")
Charts.Add '增加EXCEL图表
ActiveChart.ChartType = xlLineMarkers '指定刚刚新加的EXCEL图表类型
ActiveChart.SetSourceData Source:=Sheets(strSheetName).Range("G5:G34"), PlotBy _
:=xlColumns '指定刚刚新加的EXCEL图表数据源,如果数据源发生变化
ActiveChart.Location Where:=xlLocationAsObject, Name:=strSheetName
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(strSheetName).Select '激活指定的工作表,此处也就是数据源表
End Sub
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com