我在合并的单元格范围S1:V8中的sheet1中有一个图像。
我不知道这张照片的名称,因为每次我们从模板创建一个新的Excel文件时,我们会在该区域粘贴不同的图片。
我想将此工作簿或其他工作簿中此范围内的图片复制到名为"数据库"进入细胞A6。
我找到了几个例子,但我们必须知道图片名称。
我想要第一张照片。我想我可以检查范围是否有图片。然后选择第一张图片并将其粘贴到另一张工作簿中。
我唯一能做的就是选择范围内的图片进行复制。
如果可能,奖励功能:
- 之后我想将它调整到单元格尺寸,但保持纵横比
- 我想压缩到96 dpi后
- 这个文件将有几张图片。有没有办法将它们全部调整到每个单元格是否有人修改图片尺寸? (在A6单元格中会有一张图片,在单元格A7中会有另一张图片,......,有人可能会在A20中更改图片的大小)
此post也在MrExcel论坛中。
答案 0 :(得分:1)
目前尚不清楚您所指的图片是“在细胞内”还是漂浮在细胞上方。据我所知,在“单元格”中创建图片的唯一方法是将其放在单元格的注释中(实际上,用作评论文本的背景图片)。在任何一种情况下,使用VBA操纵它的关键是获取它的参考。如果您首先选择单元格区域,则以下代码将识别上述任一情况的存在,如动画gif所示。不幸的是,据我所知,您所能做的就是通过VBA将背景图片添加到评论中。
Option Explicit
Sub testForPicturesOrComments()
Dim p As Picture, r As Range, hasComment As Boolean
For Each p In ActiveSheet.Pictures
MsgBox ("There's a picture called " & p.Name)
Next p
For Each r In Selection
On Error Resume Next
hasComment = r.Comment.Parent.Address = r.Address
'Reset Run Time Errors
On Error GoTo 0
If hasComment Then
MsgBox ("There's a comment in " & r.Address _
& " with a shape.ID = " & r.Comment.Shape.ID)
hasComment = False
End If
Next r
End Sub