windplume
V2EX  ›  Excel

有哪位 excel 大神知道,如何在 excel 中对单元格内的多行文本内容进行逐行编号

  •  
  •   windplume · Dec 21, 2024 · 2889 views
    This topic created in 684 days ago, the information mentioned may be changed or developed.
    9 replies  •  2024-12-22 10:16:23 +08:00
    cchaan
    cchaan
    Dec 21, 2024
    1
    这种技术问题,可以试试问 AI
    windplume
    windplume
    OP
    Dec 21, 2024
    2
    @cchaan 问了,要写 vba ,感觉有点麻烦
    summerwar
    summerwar
    Dec 21, 2024
    3
    office 365 支持 Python ,写个 Python ,获取行数,然后分割文本内容,在每行前面添加编号,然后再组合起来,搞定
    summerwar
    summerwar
    Dec 21, 2024
    4


    附上截图,下面是代码

    n=xl("A1")
    data = n.split("\n")
    print(data)
    m=""
    for i in range(len(data)):
    m=m+str(1+i)+data[i]+"\n"
    m
    summerwar
    summerwar
    Dec 21, 2024
    5
    还可以定义一个方法,然后其他单元格直接调用这个方法就可以了。
    vmebeh
    vmebeh
    Dec 21, 2024 via iPhone
    6
    https://imgur.com/a/tT6Jb11
    换行符是根据 windows 的 CRLF
    不清楚你的场景,分行可以试试这个方法

    想单元格加行号的估计不如粘贴到 word 加行号再粘贴回来来的快
    wsjwqq
    wsjwqq
    Dec 21, 2024
    7
    单元格每行分割到后面 n 列,加上编号然后再合并
    zle12688
    zle12688
    Dec 21, 2024
    8
    下面代码是对 Excel 表内单元格 B2 开始,循环遍历对 B 列有多行内容的单元格进行编号的 VBA 代码,可根据你自己表格内对应要编号的列,进行代码的修改就好了:

    Sub NumberLinesInColumnB_FromRow2()
    Dim ws As Worksheet
    Dim rngCell As Range
    Dim lastRow As Long
    Dim arrLines As Variant
    Dim i As Long

    ' 设置要处理的工作表(此处以当前活动工作表为例)
    Set ws = ActiveSheet

    ' 找到 B 列最后一行有内容的行号
    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

    ' 遍历 B 列从第 2 行到最后一行所有有内容的单元格
    For Each rngCell In ws.Range("B2:B" & lastRow)
    ' 如果单元格不为空,并且是字符串类型
    If Not IsEmpty(rngCell) And VarType(rngCell.Value) = vbString Then
    ' 按换行符拆分
    arrLines = Split(rngCell.Value, vbLf)

    ' 为每一行加上编号
    For i = LBound(arrLines) To UBound(arrLines)
    arrLines(i) = (i + 1) & ". " & arrLines(i)
    Next i

    ' 将编号结果重新组合回单元格
    rngCell.Value = Join(arrLines, vbLf)
    End If
    Next rngCell

    ' 可根据需求,添加运行完成后的提示
    MsgBox "B 列编号完成!"
    End Sub
    Chicagoake
    Chicagoake
    Dec 22, 2024
    9
    解决 EXCEL 问题问 AI 确实是最简单的方案,用函数、写 VBA 都是如此。缺点是描述起来比较麻烦。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1370 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:00 · PVG 06:00 · LAX 14:00 · JFK 17:00
    ♥ Do have faith in what you're doing.