所以,我一直在研究在用户表单中显示图表的模式。普遍的共识似乎是你必须将图表保存为.GIF文件,然后将其作为图像在userform中上传,但是,这意味着使用userform的任何人都必须将文件保存为图像为了查看信息(我不相信我的任何同事会花时间学习如何做到这一点,他们只是想要一个快速的图表视图)。
是否有一种解决方法可以在用户表单中显示图表(通过数据不断更新)?我尝试过多种途径而且找不到任何东西......另外,我的Excel 2013似乎没有工具箱中的Microsoft Office Charts选项,这是否已经改变了?
谢谢!
答案 0 :(得分:4)
案例1:如果图表在工作表上,它将更容易,如下所示:
Private Sub UserForm_Initialize()
Dim Fname As String
Call SaveChart
Fname = ThisWorkbook.Path & "\temp1.gif"
Me.Image1.Picture = LoadPicture(Fname)
End Sub
Private Sub SaveChart()
Dim MyChart As Chart
Dim Fname As String
Set MyChart = Sheets("Data").ChartObjects(1).Chart
Fname = ThisWorkbook.Path & "\temp1.gif"
MyChart.Export Filename:=Fname, FilterName:="GIF"
End Sub
案例2:如果图表不在工作表上,您可能需要创建一个临时图表,将其保存为GIF,删除它,最后加载图片{
Me.Image1.Picture = LoadPicture(Fname)
}初始化Userform时。
案例1更容易编码。即使我将图表剪切并粘贴到以后隐藏的工作表中,上面的代码仍然有效。