使用 VBA 创建图表并删除边框
Create chart using VBA and remove border
我有一个宏可以为三个数据系列创建折线图。 Excel 自动在图表周围添加边框,我对此表示鄙视,但不知道如何删除它。我试过这些变体:
ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
ChartArea.Border.LineStyle = xlNone
这是样本数据集:
Data1 Data2 Data3
2005 39 907 108
2006 439 341 490
2007 238 554 570
2008 882 112 134
2009 924 222 50
2010 155 550 754
2011 154 681 714
2012 235 186 917
这是我当前的代码:
Sub MakeCharts2()
'save active sheet
Dim ActSheet As Worksheet
Set ActSheet = ActiveSheet
'save sheetname as string
Dim strSheetName As String
strSheetName = ActiveSheet.Name
ActSheet.Select
'insert chart
Range("A1:D9").Select
ActiveSheet.Shapes.AddChart2(227, xlLine).Select
ActiveChart.SetSourceData Source:=Range("A1:D9")
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Chart_" & strSheetName
ActiveChart.ChartArea.Select
'add title to chart
ActiveChart.ChartTitle.Select
Selection.Caption = "=" & strSheetName
' remove chart border: THIS IS WHERE I'M HAVING TROUBLE.
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
Selection.Delete
'add vertical axis
ActiveChart.Axes(xlValue, xlPrimary).HasTitle = True
ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Tons"
End Sub
将此行 ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
更改为
ActiveSheet.Shapes(ActiveChart.Parent.Name).Line.Visible = msoFalse
我有一个宏可以为三个数据系列创建折线图。 Excel 自动在图表周围添加边框,我对此表示鄙视,但不知道如何删除它。我试过这些变体:
ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
ChartArea.Border.LineStyle = xlNone
这是样本数据集:
Data1 Data2 Data3
2005 39 907 108
2006 439 341 490
2007 238 554 570
2008 882 112 134
2009 924 222 50
2010 155 550 754
2011 154 681 714
2012 235 186 917
这是我当前的代码:
Sub MakeCharts2()
'save active sheet
Dim ActSheet As Worksheet
Set ActSheet = ActiveSheet
'save sheetname as string
Dim strSheetName As String
strSheetName = ActiveSheet.Name
ActSheet.Select
'insert chart
Range("A1:D9").Select
ActiveSheet.Shapes.AddChart2(227, xlLine).Select
ActiveChart.SetSourceData Source:=Range("A1:D9")
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Chart_" & strSheetName
ActiveChart.ChartArea.Select
'add title to chart
ActiveChart.ChartTitle.Select
Selection.Caption = "=" & strSheetName
' remove chart border: THIS IS WHERE I'M HAVING TROUBLE.
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
Selection.Delete
'add vertical axis
ActiveChart.Axes(xlValue, xlPrimary).HasTitle = True
ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Tons"
End Sub
将此行 ActiveSheet.Shapes("Chart 1").Line.Visible = msoFalse
更改为
ActiveSheet.Shapes(ActiveChart.Parent.Name).Line.Visible = msoFalse