Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA将图像从工作表复制到用户窗体_Vba_Excel - Fatal编程技术网

VBA将图像从工作表复制到用户窗体

VBA将图像从工作表复制到用户窗体,vba,excel,Vba,Excel,是否有一种方法可以在运行时将图像从工作表复制到userform图像控件 我在包含图像的工作表上得到了一个形状。当我选择-->复制(ctrl+C)此形状时,转到UserForm1design-->image1properties,我可以在image1的picture属性中执行ctrl+v,然后图像从剪贴板粘贴到image1控件 如何在运行时使用VBA实现这一点? 我尝试了UserForm1.Image1.Picture=ActiveSheet.Shapes(“图片1”).Picture 许多类似

是否有一种方法可以在运行时将图像从工作表复制到userform图像控件
我在包含图像的工作表上得到了一个形状。当我选择-->复制(ctrl+C)此形状时,转到
UserForm1
design-->
image1
properties,我可以在
image1
的picture属性中执行ctrl+v,然后图像从剪贴板粘贴到
image1
控件
如何在运行时使用VBA实现这一点?
我尝试了
UserForm1.Image1.Picture=ActiveSheet.Shapes(“图片1”).Picture
许多类似的机器人都不起作用

我通常会得到“对象不支持此属性或方法”或“类型不匹配”

不久前,我正在寻找相同问题的解决方案。没有找到解决方案,但我找到了一个很好的解决方法:

  • 制作一个包含大量图片的单独表格。将其命名为
    user\u form\u pics

  • 然后在表格上填写以下内容:

  • Me.Image1.Picture=user\u form\u pics.img\u name 11.Picture

    以下是如何在构造函数中使用它:

    Private Sub UserForm_Initialize()
        Me.Image1.Picture = user_form_pics.img_name11.Picture
    End Sub
    
    它起作用了!现在,您的表单上有
    用户表单图片。img\u name 11

    编辑: 如果需要将图表保存为图片,步骤如下:

    Option Explicit
    
    Public Sub TestMe()
    
        Dim chtChart    As Chart
        Dim strPath     As String
    
        Set chtChart = ActiveSheet.ChartObjects(1).Chart
        strPath = ThisWorkbook.Path & "\myChart.bmp"
    
        chtChart.Export (strPath)
    
        UserForm1.Show vbModeless
        UserForm1.Image1.Picture = LoadPicture(strPath)
    
    End Sub
    

    如果在工作表上使用ActiveX图像控件,则可以直接将其图片指定给窗体上的图片。对于其他图片,请搜索Stephen Bullen的PastePicture代码。谢谢大家,但我忘了提及。我可以从ActiveX控件或userform上的其他图像控件进行复制。问题是我要复制的图片是一个形状。它是通过复制图表并粘贴到工作表中创建的。我得到了形状名称和其他一切。我可以选择这个形状等等。我无法从中复制图片并将其粘贴到“UserForm.Image.picture”property@Sphinx-在这种情况下,应将图表图片保存为bmp,并与Excel应用程序保存在同一文件夹中。然后使用它的路径和名称引用它。或者至少这是我过去常做的事…@Sphinx-请看编辑后的答案,以了解我的意思:)是的,我也知道这个程序。我只是认为有一些简单的方法可以将图片从形状复制到图像控制。类似于从工作表上的ActiveX图像控件复制。无论如何,如果可以将剪贴板中的图像直接粘贴到表单设计的“Picture”属性,那么必须有一种方法来实现这一点。谢谢维蒂亚塔。