关于Excel 中VBa 单元格内容拆分与合并的问题,向各位大侠请教!!!

我想要实现检查每个人的姓名前的数字编号是否是按照顺序排列的;要求是张三的排序是:“7-***,其中***是从110开始的阿拉伯数字加1排序”。李四的是:“9-***,其中***是从334开始的阿拉伯数字加1排序”。同理王五。

把下面代码复制到VBA的任何地方,运行即可。。
有一定需要你修改:请用你的工作表名称替换代码中的Sheet1

Sub jc()
j = 2
With Sheet1 '请用你的工作表名称替换Sheet1
xh:
For i = j To UsedRange.Rows.Count
'变量a等于第1列i行的值
a = Cells(i, 1)

'如果 i = j 则取A列【-】后面的数值
If i = j Then
b = Right(a, Len(a) - InStr(a, "-"))

'否则,如果姓名相等或为空
ElseIf Cells(i, 2) = Cells(j, 2) Or Cells(i, 2) = "" Then
c = Right(a, Len(a) - InStr(a, "-"))

'如果按顺序排列
If Val(c) = Val(b) + 1 Then
b = c
Else '否则
MsgBox "第 " & i & " 行未按顺序排列!", 64 + 0 + 4096, "提示"
Exit Sub
End If

'出现新姓名
Else
j = i
GoTo xh
End If
Next i
End With
End Sub
温馨提示:答案为网友推荐,仅供参考
相似回答