Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >问与答94:如何替换多个相同的数据并依次编号?

问与答94:如何替换多个相同的数据并依次编号?

作者头像
fanjy
发布于 2021-02-22 03:28:59
发布于 2021-02-22 03:28:59
1.7K00
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

excelperfect

Q:我有一个工作表,我想将里面多个相同的数据进行替换,并按顺序依次编号,如何使用VBA代码实现?例如下图1的列B中有多个“完美Excel”,使用VBA代码将其替换为“excelperfect”并加上数字编号,即“excelperfect1”、“excelperfect2”、“excelperfect3”……等。

图1

A:使用Find方法和FindNext方法进行连续查找,将找到的数据进行替换并加上计数器当前的数字。代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub ReplaceAndAddNum()
    Dim rngLastCell As Range
    Dim rngFoundCell As Range
    Dim strFirstAddress As String
    Dim lngCount As Long
   
    On Error Resume Next
   
    With ActiveSheet.UsedRange
        Set rngLastCell = .Cells(.Cells.Count)
        Set rngFoundCell = .Find(What:="完美Excel",_
           After:=rngLastCell, _
           LookIn:=xlValues, _
           LookAt:=xlPart, _
           SearchOrder:=xlByColumns, _
           SearchDirection:=xlNext)
        If Not rngFoundCell Is Nothing Then
           strFirstAddress = rngFoundCell.Address
           lngCount = 1
           rngFoundCell.Value = "excelperfect" & lngCount
           Do
               Set rngFoundCell = .FindNext(rngFoundCell)
               lngCount = lngCount + 1
               rngFoundCell.Value = "excelperfect" & lngCount
           Loop Until rngFoundCell.Address = strFirstAddress
        EndIf
    End With
End Sub

或者,使用下面更简洁的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub ReplaceAndAddNumPlus()
    Dim lngCount As Long
    On Error Resume Next
    lngCount= 1
    Do
       Cells.Find("完美Excel")= "excelperfect" & lngCount
       lngCount = lngCount + 1
    Loop Until Err.Number <> 0
End Sub

还有其他的方法,有兴趣的朋友可以自已尝试一下。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VBA小技巧:确定工作表数据区域
在使用VBA编写程序时,有几种常用方法可以在工作表中查找包含已有数据的区域,但这些方法都多少存在一些局限。
fanjy
2022/11/16
1.3K0
使用VBA实现多个值组合查找
假设工作表中包含三列,即列A中是水果名,列B中是颜色,列C中是产地,现在查找同时包含“apple”、“red”和“Hungary”的行,可以使用下面的代码:
fanjy
2024/03/11
4510
使用VBA实现多个值组合查找
Excel应用实践16:搜索工作表指定列范围中的数据并将其复制到另一个工作表中
“在工作表Sheet1中存储着数据,现在想要在该工作表的第O列至第T列中搜索指定的数据,如果发现,则将该数据所在行复制到工作表Sheet2中。
fanjy
2019/07/19
6.8K0
Excel VBA之Find
使用,因为我们的工作表中常常在最后会写一此“备注”,我们在取数据的时候,备注与后面的东西是没用的,所以我们要取到备注以上的东西,以"金额合计"或“合计”为最后一行号
哆哆Excel
2022/10/25
2.4K0
ExcelVBA一健整理(机关事业) 单位保险费征收台账总表
1.删除重复出现的“标题行” 2.把其中的某些行列的数据文本格式转化为数值格式(身份证与个人编号不要转)
哆哆Excel
2022/10/25
3470
ExcelVBA一健整理(机关事业) 单位保险费征收台账总表
回复网友VBA之Find_FindNext_并修改数据
Set c = .Cells.Find(ss,Lookat:=xlPart, LookIn:=xlValues)
哆哆Excel
2022/10/25
7040
回复网友VBA之Find_FindNext_并修改数据
ExcelVBA取序号与合计之间的数据
哆哆Excel
2024/05/11
1740
ExcelVBA取序号与合计之间的数据
ExcelVBA字典用法之按列拆分工作表
Set dic= CreateObject("Scripting.Dictionary")
哆哆Excel
2022/10/25
1.3K0
ExcelVBA字典用法之按列拆分工作表
ExceVBA删除指定字符所在的行_优化版
哆哆Excel
2023/09/09
5630
ExceVBA删除指定字符所在的行_优化版
老程序:查找包含指定内容的所有单元格
我们知道,Find方法只是返回找到的第1个单元格,如果查找区域有多个符合查找内容的单元格,Find方法就无能为力了。然而,利用Find方法可以查找并返回包含指定内容的所有单元格。在完美Excel中曾多次介绍过这样的程序。恰巧,今天逛网站时又碰到一个这样的程序,特将其拿过来,粘贴在此,供有兴趣的朋友参考。
fanjy
2023/12/14
3890
老程序:查找包含指定内容的所有单元格
VBA实战技巧:正确登录后才能使用Excel工作簿
当你打开这个工作簿时,Excel会弹出一个登录框,如下图1所示。当你输入正确的用户名和密码后,才能使用这个工作簿,否则会退出。
fanjy
2022/11/16
1.3K1
VBA实战技巧:正确登录后才能使用Excel工作簿
突出显示单元格文本中含有词库的内容
下面的代码将突出显示在单元格文本字符串中用户定义的文本字符串,对其设置颜色并加粗。
fanjy
2024/01/23
3110
突出显示单元格文本中含有词库的内容
Excel应用实践10:合并多个工作簿中的数据
我有超过50个具有相同格式的Excel文件,它们的列标题相同,并且都放置在同一文件夹,有什么快速的方法将它们合并到一个单独的Excel文件的一个工作表中?
fanjy
2019/07/19
2.5K0
ExcelVBA从工作簿中查询多个姓名并复制出整行数据
工作中用的代码 Sub ExcelVBA从工作簿中查询多个姓名并复制出整行数据() Dim outFile As String, inFile As String Dim outWb As Workbook, mysht As Worksheet, tempsht As Worksheet, t_arr(1 To 30) Dim SearchRange As Range Dim LastRow As Integer, arr, FindStr As String, i
哆哆Excel
2022/10/31
1.8K0
问与答122:如何根据输入数据动态添加提示信息?
Q:在我的Excel工作簿中有两个工作表,工作表“Seatingarrangement”用来排座位,工作表“DataValue”包含座位号、员工号及员工名字等信息。现在,我想在工作表“Seatingarrangement”中输入座位号后,显示关于座位号、员工号及员工名字等信息提示,如下图1所示。
fanjy
2021/05/07
1K0
VBA实战技巧01: 在代码中引用动态调整单元格区域的5种方法
在VBA代码中,经常要引用单元格数据区域并对其进行操作。然而,如果对数据区域采用“硬编码”地址,那么当该区域大小变化时,必须修改相应的引用该区域的代码。本文整理了可以动态引用数据区域的5种方法,供编写代码时参考。
fanjy
2020/02/12
5K0
VBA: 单元格区域基于指定列重新排序(2)
文章背景:在数据处理时,有时需要根据指定列的内容进行重新排序。比如样品测试时,假设存在5个测试点,其中2号点和3号点无需测,在做报告时,一般会保留2号点和3号点的位置,测试数据为空。
Exploring
2022/09/20
1K0
VBA: 单元格区域基于指定列重新排序(2)
搜索并汇总多个工作表中的数据
下面的示例搜索工作簿中除工作表“汇总表”外的多个工作表中的数据,将满足条件的数据所在行复制到指定工作表。
fanjy
2024/07/05
6360
搜索并汇总多个工作表中的数据
Excel VBA解读(143): 在自定义函数中使用整列引用时,如何更有效率?
Excel用户经常发现在公式中使用整列的引用很方便,这样可避免每次添加新数据时都必须调整公式。因此,当编写用户自定义函数时,可能会使用:
fanjy
2019/07/19
3.1K0
删除多行多列中的空单元格并重新整理数据
这是在www.vbaexpress.com中看到的一个示例,个人觉得代码很有代表性,特辑录于此,与大家共享。
fanjy
2024/05/13
4780
删除多行多列中的空单元格并重新整理数据
推荐阅读
相关推荐
VBA小技巧:确定工作表数据区域
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验