分享

Excel VBA 8.32 批注就那么点用处?来用批注实现一个带图片的花名册

 Excel和VBA 2021-09-23

批注就那么点用处?来用批注实现一个带图片的花名册


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


最近一段时间学习了很多关于单元格的批注的操作,可能是因为在日常的工作中,大家对于批注的使用频率并不是很高,所以关注度也不太高,不过当然这是好事,批注某种程度上使用并不是很方便,尤其是后期的数据查阅和编辑都不是很方便,使用频率较低是好事

但是并不是说批注就一无是处,只要使用得当,批注也可以给我们的工作提供一些便利,比方说我们今天要介绍的,将图片放入花名册中,这样当鼠标滑过的时候,就可以展示员工的图片了,比方说这样的效果

这样的效果是不是很炫

批注不一定是文字,还可以是图片,来看看如何实现

场景说明

假设我们现在有这样的一个花名册, 里面有很多不同的名字,现在我们需要将它们对应的图片以批注的形式展示,那么我们还需要准备好他们对应的图片

图片我们这里已经准备好了,留意我标记出来的地方,有些是有操作重命名的,但是另外一些则没有,为什么会有一些需要命名呢?

很明显的啦,你不命名,VBA代码怎么知道哪个是哪个呢?难道你觉得VBA代码能够知道路飞是谁?哈哈

来,接着看代码

代码区

Sub tupian()Dim s, rng As Range, a As RangeSet rng = Application.InputBox("请选择要插入批注的单元格", "单元格区域选择", , , , , , 8)With Application.FileDialog(msoFileDialogFolderPicker)    .Title = "请选择图片所在的文件"    If .Show = -1 Then        Filename = .SelectedItems(1)    End IfEnd Withs = MsgBox("请确保图片名称和单元格内容对应!", vbOKCancel)If s = 1 ThenFor Each a In rng  If Not IsEmpty(a) Then    a.AddComment    a.Comment.Visible = False    a.Comment.Text Text:=""    a.Comment.Shape.Fill.UserPicture PictureFile:=Filename & "\" & a.Value & ".jpg"   End IfNext aEnd IfEnd Sub

是不是觉得代码有点长,既然我们要实现的是一些比较非常规的操作,自然代码要长一点

来看看代码的效果

是不是很完美,我们成功的利用了批注,将图片添加到批注中,实现了一个别样的花名册,当鼠标滑过的时候,会展示对应的图片人的图片,是不是非常的方便

代码解析

来看看今天的代码

今天我们要实现的将图片插入批注中,核心代码自然是将图片插入批注中的代码

但是在操作之前,还有一些准备工作要做

图片需要重命名,重命名的原则是你花名册单元格中的内容要保持一致。

这一步是非常的重要的。

然后我们就可以写代码了。

With Application.FileDialog(msoFileDialogFolderPicker) .Title = "请选择图片所在的文件" If .Show = -1 Then Filename = .SelectedItems(1) End IfEnd With

这一段代码是我们在第一章学习的时候,学习过的FileDialog方法

通过一个对话框的方式让我们选择图片所在的文件夹

选择了图片所在的位置之后,我们就可以开始插入图片了。

那么插入图片到批注中的代码是什么呢?

a.Comment.Shape.Fill.UserPicture PictureFile:=Filename & "\" & a.Value & ".jpg"

这里我们的图片都是JPG格式的,如果你的是png,你就需要将代码最后面的jpg替换成为PNG

这样的花名册是不是很别样

现在你还认为批注仅仅只能是文字了吗?

你还觉得批注的用处不大嘛?

学好VBA,你可以开发出很多你之前不知道的Excel功能

快跟我学习VBA,认识一个全新的VBA

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多