use*_*203 1 excel charts vba excel-vba userform
因此,我一直在研究以用户窗体显示图表的模式。普遍的共识似乎是您必须将图表另存为.GIF文件,然后将其作为图像上传到用户表单中,但这意味着使用该用户表单的任何人都必须将文件另存为图像。为了查看信息(我不相信我的任何同事都会花时间学习如何做到这一点,他们只是想快速浏览一下图表)。
是否有一种解决方法可在用户表单中显示图表(该图表不断被传入的数据更新)?我尝试了多种途径,却没有找到任何东西...另外,我的Excel 2013在工具箱中似乎没有Microsoft Office Charts选项,这是否已更改?
谢谢!
小智 6
情况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
Run Code Online (Sandbox Code Playgroud)
情况2:如果图表不在工作表中,则可能需要创建一个临时图表,将其另存为GIF,删除它,最后加载图片{
Me.Image1.Picture = LoadPicture(Fname)
Run Code Online (Sandbox Code Playgroud)
初始化用户表单时。
情况1易于编码。即使我将图表剪切并粘贴到以后隐藏的工作表中,上面的代码仍然有效。