V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
windplume
V2EX  ›  Excel

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

  •  
  •   windplume · 1 天前 · 582 次点击
    9 条回复    2024-12-22 10:16:23 +08:00
    cchaan
        1
    cchaan  
       1 天前
    这种技术问题,可以试试问 AI
    windplume
        2
    windplume  
    OP
       1 天前
    @cchaan 问了,要写 vba ,感觉有点麻烦
    summerwar
        3
    summerwar  
       1 天前
    office 365 支持 Python ,写个 Python ,获取行数,然后分割文本内容,在每行前面添加编号,然后再组合起来,搞定
    summerwar
        4
    summerwar  
       1 天前


    附上截图,下面是代码

    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
        5
    summerwar  
       1 天前
    还可以定义一个方法,然后其他单元格直接调用这个方法就可以了。
    vmebeh
        6
    vmebeh  
       1 天前 via iPhone
    https://imgur.com/a/tT6Jb11
    换行符是根据 windows 的 CRLF
    不清楚你的场景,分行可以试试这个方法

    想单元格加行号的估计不如粘贴到 word 加行号再粘贴回来来的快
    wsjwqq
        7
    wsjwqq  
       1 天前
    单元格每行分割到后面 n 列,加上编号然后再合并
    zle12688
        8
    zle12688  
       20 小时 49 分钟前
    下面代码是对 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
        9
    Chicagoake  
       10 小时 8 分钟前
    解决 EXCEL 问题问 AI 确实是最简单的方案,用函数、写 VBA 都是如此。缺点是描述起来比较麻烦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:24 · PVG 20:24 · LAX 04:24 · JFK 07:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.