如下图所示,要给单元格里面的每一段前面添加序号,手动操作的话工作量比较大,该如何操作?

工具/原料
- 操作设备:计算机
- 操作系统:Windows 7
- 办公软件:Excel 2010
方法/步骤
- 1
点击【开发工具】、【Visual Basic】调出VBE编辑器。
- 2
点击【插入】、【模块】。
- 3
在模块代码框里边输入以下VBA程序代码。
Sub InterNumber()
Dim i1, i2, i3, i4, i5, str1, str2
On Error Resume Next
Application.ScreenUpdating = False '关闭显示更新
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义Sheet1
For i1 = 2 To 1000 '从第2行到1000行
If mysheet1.Cells(i1, 1) <> "" Then '如果单元格不为空白,则
i2 = Len(mysheet1.Cells(i1, 1)) '获取单元格字符个数
i4 = 0
str1 = ""
str2 = ""
For i3 = 1 To i2
i4 = i5 '存放上次换行符的位置
i5 = InStr(i4 + 1, mysheet1.Cells(i1, 1), Chr(10)) '判断换行符的位置
If i5 = 0 Then '如果不存在换行符,则
str1 = Right(mysheet1.Cells(i1, 1), i2 - i4) '截取字符(最后一行)
str2 = str2 & i3 & "、" & str1 '字符拼接
Exit For '退出For循环
Else
str1 = Mid(mysheet1.Cells(i1, 1), i4 + 1, i5 - i4 - 1) '截取字符
str2 = str2 & i3 & "、" & str1 & Chr(10) '字符拼接
End If
Next
mysheet1.Cells(i1, 2) = str2 '将拼接后的字符写入单元格
End If
Next
Application.ScreenUpdating = True '恢复屏幕显示更新
End Sub
- 4
检查无误后,在VBE编辑器的功能区里边点击“运行”图标运行程序。
- 5
回到Excel界面,将会看到执行的结果。
END
注意事项
- 操作界面及功能可能因操作系统、软件版本、设置不同而存在差异。
- 数据无价,操作前先找备份,以免数据丢失而无法找回。
- 个人经验,仅供参考。