将图片插入Excel单元格


140

我想生成带有图片的报告,但是无法将图片放入单个单元格中。我可以使图片在工作表中“浮动”,但是我需要将它们放入单元格中。我怎样才能做到这一点?


一个单元格需要多少张图片?
2012年

我每个单元格需要一张图片,我刚刚尝试了插入图片和特殊粘贴。
里德2012年

5
您不能将图片“放在”单元格中,而只能在其上方。所有图片在工作表上“浮动”。您可以通过将图片的TopLeft属性设置为该单元格的TopLeft来在该单元格上放置图片。如果使用您正在使用的代码来编辑问题,那么建议一种可能适合您的方法会更容易。
蒂姆·威廉姆斯

除了@TimWilliams所建议的内容外,您还可以根据需要调整单元格的大小以匹配图像(并且不会将工作表的格式更改得太可怕)
Gaffi 2012年

3
有关“ over cell”和“ comment”方法的详细信息,请参见此方法。
Nigel Touch

Answers:


109

您可以将图像添加到注释中。

右键单击单元格>插入注释>右键单击注释框外部的阴影(灰色区域)>格式注释>颜色和线条>填充>颜色>填充效果>图片>(浏览到图片)>单击确定

图像将悬停在上方。

Microsoft Office 365(2019)引入了称为注释的新功能,并将旧注释重命名为“ notes ”。因此,请在上述步骤中执行New Note代替Insert Comment。所有其他步骤保持不变,并且功能仍然存在。


Windows也有20美元的产品-Excel Image Assistant ...


12
太糟糕了,它不适用于剪贴板图像。
莫里西奥·金塔纳

12
注意。右键单击不在注释框内的边框非常重要,因为“格式注释”对话框窗口在每种情况下都有不同的选项。
开发人员MariusŽilėnas15年

2
我觉得这并不令人满意,因为当我将鼠标悬停时,我可以看到Excel调整了我的图像的大小,从而扭曲了它并使它无用
wytten

2
@wytten有一个选项可以锁定宽高比(因此不会使其失真)。话虽如此,但我发现图片位于注释框中而不是单元格中也很糟糕。
Daniel Sparing

4
似乎无法在Mac上运行。无论我做什么,我都不会看到“颜色和线条”选项。
安迪·宋

50

有一些更快的方法(https://www.youtube.com/watch?v=TSjEMLBAYVc):

  1. 将图片(Ctrl + V)插入Excel。
  2. 验证是否选中了“图片工具->对齐->对齐网格”
  3. 调整图像大小以适合单元格(或单元格数量)
  4. 右键单击图像,然后检查“大小和属性...->属性->移动并调整单元格大小”

1
不需要第2步

4
这不能直接回答问题。但是,这正是我一直在寻找的,可以说是大多数人真正想要的解决方案。
罗伯特·拉格

1
当查看电子表格或打印时,此解决方案将是最佳解决方案;当在计算机上查看电子表格并仅在用户需要时才查看图像时,上述流行的答案将是一个很好的答案。
里克·亨德森

16

只需转到Google文档并将其粘贴为公式即可,其中URL是指向您的img的链接

      =image("URL", 1)

然后,从google docs选项下载excel,然后将图像保存在EDIT Per comment单元格中,您无需将图像URL保留很长的时间,只要足够长的时间即可让excel下载它。然后它将保持嵌入在文件中。


1
这真的很有帮助。
开发人员MariusŽilėnas15年

1
您需要在某个位置托管映像才能使用此解决方案。即使是Google云端硬盘在这种情况下也不起作用。
hris.to

伙计们,您从Google文档下载excel文件后无需保留网址,它会将图片嵌入excel本身
virgula24 2015年

2
@ virgula24,感谢您分享技巧。在我将Google工作表下载为Excel文件后,该图像未出现在单元格中。单元格的值仍然是= image(“ URL”,1),Microsoft Excel无法解释该值。如果我以PDF格式下载,则图像将按预期显示。
Frank Liu

刚刚尝试,仍然有效。Google添加了其他选项,因此您可以使用我的建议或= image(“ URL”,mode,height,width)
virgula24

7

现在,我们可以直接轻松地将图片添加到Excel。只需遵循以下说明:

  1. 转到“插入”选项卡。
  2. 单击图片选项(在插图组中)。 图片1
  3. 在“插入图片”对话框中,找到要插入到Excel单元格中的图片。 image2
  4. 单击插入按钮。 图片3
  5. 重新调整图片/图像的大小,使其完全适合单元格。 图4
  6. 将图片放在单元格中。一种很酷的方法是先按ALT键,然后用鼠标移动图片。它将接近并与单元格的边界对齐并自动对齐。

如果有多张图像,则可以一次选择并插入所有图像(如步骤4所示)。

您还可以通过选择图像并拖动边缘来调整图像大小。对于徽标或产品图片,您可能需要保持图片的长宽比不变。要保持长宽比不变,请使用图像的角来调整尺寸。


使用上述步骤将图像放置在单元格中时,如果您调整大小,过滤或隐藏单元格,该图像将不会粘在单元格上。如果希望图像粘贴到单元格上,则需要将图像锁定到放置在单元格n上的单元格上。

为此,您需要执行以下其他步骤。

  1. 右键单击图片,然后选择“设置图片格式”。 图片5
  2. 在“设置图片格式”窗格中,选择“大小和属性”,然后使用“属性”中的选项,选择“使用单元格移动并调整大小”。 图6

现在您可以移动单元格,对其进行过滤或隐藏,图片也将移动/过滤/隐藏。


注意:

答案来自以下链接:将图片插入Excel中的单元格


2

虽然我的建议是利用Doality.com提供的自动化功能,尤其是Picture Manager for Excel。

以下vba代码应符合您的条件。祝好运!

将按钮控件添加到您的Excel工作簿中,然后双击该按钮以获取VBA代码->

Sub Button1_Click()
    Dim filePathCell As Range
    Dim imageLocationCell As Range
    Dim filePath As String

    Set filePathCell = Application.InputBox(Prompt:= _
        "Please select the cell that contains the reference path to your image file", _
            Title:="Specify File Path", Type:=8)

     Set imageLocationCell = Application.InputBox(Prompt:= _
        "Please select the cell where you would like your image to be inserted.", _
            Title:="Image Cell", Type:=8)

    If filePathCell Is Nothing Then
       MsgBox ("Please make a selection for file path")
       Exit Sub
    Else
      If filePathCell.Cells.Count > 1 Then
        MsgBox ("Please select only a single cell that contains the file location")
        Exit Sub
      Else
        filePath = Cells(filePathCell.Row, filePathCell.Column).Value
      End If
    End If

    If imageLocationCell Is Nothing Then
       MsgBox ("Please make a selection for image location")
       Exit Sub
    Else
      If imageLocationCell.Cells.Count > 1 Then
        MsgBox ("Please select only a single cell where you want the image to be populated")
        Exit Sub
      Else
        InsertPic filePath, imageLocationCell
        Exit Sub
      End If
    End If
End Sub

然后创建您的插入方法,如下所示:

Private Sub InsertPic(filePath As String, ByVal insertCell As Range)
    Dim xlShapes As Shapes
    Dim xlPic As Shape
    Dim xlWorksheet As Worksheet

    If IsEmpty(filePath) Or Len(Dir(filePath)) = 0 Then
        MsgBox ("File Path invalid")
        Exit Sub
    End If

    Set xlWorksheet = ActiveSheet

    Set xlPic = xlWorksheet.Shapes.AddPicture(filePath, msoFalse, msoCTrue, insertCell.top, insertCell.left, insertCell.width, insertCell.height)
    xlPic.LockAspectRatio = msoCTrue
End Sub

非常有趣的解决方案,但我无法实现。我在哪里/如何创建insert方法?
2015年

我认为“设置xlPic”行应如下所示:设置xlPic = xlWorksheet.Shapes.AddPicture(filePath,msoFalse,msoCTrue,insertCell.left,insertCell.top,insertCell.width,insertCell.height)根据msdn.microsoft.com /en-us/library/office/ff198302.aspx
mprost

在为按钮上的click事件实现代码之后,您可以简单地转到EndSub下面以开始一个新的Sub例程。我必须警告,尽管打开Excel以利用Vba代码需要运行您的代码的任何Excel来降低其安全设置。最近针对公司知识产权的攻击利用了安全性方面的这一特殊缺陷,这就是为什么我建议不要广泛使用Macro并建议您以35美元的价格购买上述带有提供的UI的加载项,而无需打开文件的原因潜在的风险。
丹尼尔(Daniel)

-2

您可以使用Google云端硬盘在不到一分钟的时间内完成此操作(而且免费,没有麻烦)

•批量上传所有图像到imgur.com

•将所有图像的链接复制在一起,并附加.jpg。只有imgur允许您将所有图像链接复制到一起,使用图像右上角的标签进行复制。

•使用http://TextMechanic.co在每行之前添加和添加:Prefix:=image(" AND Suffix:", 1)

这样看起来像这样 =image("URL", 1)

•全部复制

•将其粘贴到Google Spreadsheet中

•瞧!

参考文献:

http://www.labnol.org/internet/images-in-google-spreadsheet/18167/

https://support.google.com/drive/bin/answer.py?hl=zh_CN&answer=87037&from=1068225&rd=1


1
您知道谁在textmechanic.com的背后吗?
Boris_yo 2014年

13
Google云端硬盘!= Excel女士
ssoto 2014年

1
获取“ URL”并将其保持有效很麻烦。
HBat 2014年

1
伙计们,您从Google文档下载excel文件后无需保留网址,它会将图片嵌入excel本身
virgula24 2015年

3
这对于机密数据不是有用的解决方案。如果我的老板发现我将事情上传到Imgur或Google Docs,我将被解雇。
约翰Y
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.