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

工具/原料

  • 操作设备:计算机
  • 操作系统:Windows 7
  • 办公软件:Excel 2010

方法/步骤

  1. 1

    点击【开发工具】、【Visual Basic】调出VBE编辑器。

  2. 2

    点击【插入】、【模块】。

  3. 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. 4

    检查无误后,在VBE编辑器的功能区里边点击“运行”图标运行程序。

  5. 5

    回到Excel界面,将会看到执行的结果。

    END

注意事项

  • 操作界面及功能可能因操作系统、软件版本、设置不同而存在差异。
  • 数据无价,操作前先找备份,以免数据丢失而无法找回。
  • 个人经验,仅供参考。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。