使用VBA将图片从一个工作表移动到另一个工作表

2022-11-16 10:29:37 浏览数 (1)

标签:VBA

今天跟大家分享的技巧来自thesmallman.com,一个分享Excel技巧技术的网站。

下面的Excel VBA示例将使用少量的Excel VBA代码将图片从一个工作表移动到另一个工作表。为了实现这个目的,要考虑以下事情:

1.要移动的图片的名称。

2.当我们捕获到名称后,想把图片放到哪里。

3.如何处理所选内容要替换的图片?

这里,使用数据验证列表来选择一个国家(的国旗),而Excel VBA将完成其余的工作。以下是示例文件的图片,以方便讲解。

图1

所有图片(旗帜)都有一个名称(如中国、加拿大、巴哈马等),并将其添加到验证列表中。只需从蓝色下拉列表中选择要移动的图片名称,然后单击移动按钮,就可将相应的图片(旗帜)移动到另一个工作表。当然,这里可以调整让工作表事件来处理。

“移动”按钮调用的VBA程序如下:

Sub MovePicture()

Dim sh As Worksheet

Dim Pic As Object

Set sh = Sheet2

Application.ScreenUpdating = False

'先删除目标工作表中的所有图片

For Each Pic In Sheet1.Pictures

Pic.Delete

Next Pic

'复制下拉列表中选择的名称对应的图片

sh.Shapes([e13].Value).Copy

'粘贴到目标工作表

Sheet1.[d8].PasteSpecial

Application.ScreenUpdating = True

End Sub

上面简单的程序分为两个部分,首先从目标工作表中删除所有图片(Sheet1是目标工作表)。然后将单元格E13中名称对应的图片复制到工作表1的单元格D8。演示如下图2所示。

图2

有兴趣的朋友可以到原网站下载原始示例工作簿。也可以到知识星球App完美Excel社群下载汉化后的示例工作簿。

vba

0 人点赞