VB代码

您所在的位置:网站首页 excel排序指定区域 VB代码

VB代码

2024-07-15 14:14| 来源: 网络整理| 查看: 265

工作时碰到的问题:用例模板如下,若需要在中间新增用例,就需要重新排序。因为中间有空白行,不能直接使用下拉自动填充序列功能;手动变更时,太耗费时间,还容易出错。

解决方案:使用vb代码进行自动排序。

Option Explicit Sub rangeit() Dim r Dim firstNotNull Dim FirstValue Dim FitstPos Dim Count Dim NewPos Dim NewValue '从(1.2)开始寻找第一个不为空的单元格位置 For r = 2 To 10000 If Cells(r, 1).Value "" Then firstNotNull = r Exit For End If Next FirstValue = Cells(firstNotNull, 1).Value '以流水号前面的分隔符分隔编号,这里的分隔符为“-”,也可以根据实际的进行更改 'InStrRev(),返回一个字符串在另一个字符串中首次出现的位置。搜索从字符串的末端开始,但是返回的位置是从字符串的起点开始计数的 FitstPos = InStrRev(FirstValue, "-") Count = 0 For r = firstNotNull To 10000 If Cells(r, 1).Value "" Then NewValue = Cells(r, 1).Value NewPos = InStrRev(NewValue, "-") If Left(FirstValue, FitstPos) Left(NewValue, NewPos) Then FirstValue = NewValue FitstPos = NewPos Count = 0 End If Count = Count + 1 '对编号列按流水号重新赋值 Cells(r, 1).Value = Left(FirstValue, FitstPos) & Count End If Next End Sub

excel运行VB的方法:

1、选中sheet表,右键选中查看代码

2、在打开的窗口中编写代码,或者在外面写好直接复制进去

3、点击运行,重新排序成功

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3