在Excel用户窗体中显示“实时”图表数据

所以,我一直在研究在用户窗体中显示图表的模式。 一般的共识似乎是,你必须将图表保存为.GIF文件,然后将其作为图像上载到用户窗体中,然而,这意味着使用用户窗体的任何人都必须将该文件保存为图像为了查看信息(我不相信我的同事会花时间学习如何做到这一点,他们只是想快速查看图表)。

是否有解决方法来显示用户窗体中的图表(不断更新数据)? 我已经尝试了多种渠道,并没有find任何东西…此外,我的Excel 2013似乎没有在工具箱中的Microsoft Office图表选项,这是什么已经改变?

谢谢!

情况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:如果图表不在工作表上,则可能需要创build一个临时图表,将其保存为GIF,将其删除,最后加载图片{

 Me.Image1.Picture = LoadPicture(Fname) 

当用户窗体初始化时。

情况1更容易编码。 即使我将图表剪切并粘贴到隐藏的工作表中,以上代码仍然有效。