在Excel Userform中显示“实时”图表数据

时间:2015-07-23 21:52:36

标签: excel vba excel-vba charts userform

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

是否有一种解决方法可以在用户表单中显示图表(通过数据不断更新)?我尝试过多种途径而且找不到任何东西......另外,我的Excel 2013似乎没有工具箱中的Microsoft Office Charts选项,这是否已经改变了?

谢谢!

1 个答案:

答案 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更容易编码。即使我将图表剪切并粘贴到以后隐藏的工作表中,上面的代码仍然有效。