前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA实战技巧11: 快速给所选单元格添加前缀

VBA实战技巧11: 快速给所选单元格添加前缀

作者头像
fanjy
发布2021-01-06 14:17:36
1K0
发布2021-01-06 14:17:36
举报
文章被收录于专栏:完美Excel

有些情况下,我们需要给单元格中的值添加前缀,例于对于跨多个不同的数据集查找编号时,因为这些编号可能相同,添加前缀能够区分它们。

对于少量的数据来说,手工添加或者使用公式是很方便的,但是,如果有成千上万的数据,最好使用程序来帮助我们完成。

通常,我们的代码是遍历要添加前缀的单元格,逐一添加前缀,如下面的代码所示:

代码语言:javascript
复制
Sub SlowAddPrefix()    '声明变量    Dim strPrefix As String    Dim rng As Range       '要添加的前缀    strPrefix = "完美Excel"       '关闭屏幕更新    Application.ScreenUpdating = False       '遍历所选区域中的每个单元格    '对所选区域的单元格添加前缀    For Each rng In Selection.Cells        '如果该单元格不为空则添加前缀        If rng.Value <> "" Then            rng.Value = strPrefix & rng.Value        End If    Next rng       '开启屏幕更新    Application.ScreenUpdating = TrueEnd Sub

然而,如果要操作的数据量很大,上面的代码则会比较慢。使用Replace方法可以更快的速度来完成添加前缀的任务,代码如下:

代码语言:javascript
复制
Sub QuickAddPrefix()    '声明变量    Dim strPrefix As String       '要添加的前缀    strPrefix = "完美Excel"       '关闭屏幕更新    Application.ScreenUpdating = False       '对所选区域的单元格添加前缀    Selection = Application.Replace(Selection,1, 0, strPrefix)       '对于原来值为空的单元格移除前缀    Selection.Replace strPrefix, "",xlWhole, , , , False, False       '开启屏幕更新    Application.ScreenUpdating = TrueEnd Sub

非常巧妙的代码!有兴趣的朋友可以在工作表中运行,看看效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档