VB代码 |
您所在的位置:网站首页 › excel排序指定区域 › VB代码 |
工作时碰到的问题:用例模板如下,若需要在中间新增用例,就需要重新排序。因为中间有空白行,不能直接使用下拉自动填充序列功能;手动变更时,太耗费时间,还容易出错。 解决方案:使用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 Subexcel运行VB的方法: 1、选中sheet表,右键选中查看代码 2、在打开的窗口中编写代码,或者在外面写好直接复制进去 3、点击运行,重新排序成功
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |