我终于找到了一个代码,满足我的需要,创建一个图表(代码如下)。然而,我有两个问题:1-最糟糕的是,每次我运行这段代码,它都会在我的工作簿上生成两张工作表。一张包含空白的图表框架,另一张包含图表本身。多亏了这段代码,后者被隐藏起来了,但不管怎样,在运行了5次代码后,我的工作簿上有10张新工作表,必须全部删除。(这个问题现在在帖子下面的评论中得到了解决)2-我不能用我试过的任何调整大小的代码来调整它的大小。这里我有.ChartArea.Height和.ChartArea.Width,这给了我错误:形状被锁定,无法调整大小。真的有什么切实可行的方法来控制尺寸吗? Private Sub CommandButton4_Click()
Charts.Add
chartarray1 = Array(Val(UserForm1.TextBox6.Value), Val(UserForm1.TextBox7.Value))
chartarray2 = Array("methane", "carbon")
Dim mychart As Chart
Dim fname As String
Set mychart = Charts.Add
With mychart
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = "emissions"
.SeriesCollection(1).XValues = chartarray2
.SeriesCollection(1).values = chartarray1
.ChartType = xlBarClustered
.ChartArea.Height = 107
.ChartArea.Width = 167
.ChartStyle = 6
End With
ActiveChart.Export "C:\Users\shsy\chart1.jpg"
f = activesheet.Name
Sheets(f).Select
ActiveWindow.SelectedSheets.Visible = False
fname = "C:\Users\shsy\chart1.jpg"
UserForm1.Image1.Picture = LoadPicture(fname)
End Sub先谢谢你的帮助。
|