如何在Excel中的每个单词之前插入数字
嗨,请检查上面的图像。 有没有办法在工作表中的每个单词之前插入数字。
我有这样一张桌子:
╔════════════╦═══════╗ ║ Colour ║ ║ ╠════════════╬═══════╣ ║ ║ Blue ║ ╠════════════╬═══════╣ ║ ║ red ║ ╠════════════╬═══════╣ ║ ║ pink ║ ╠════════════╬═══════╣ ║ Fruidm ║ ║ ╠════════════╬═══════╣ ║ ║ mango ║ ╠════════════╬═══════╣ ║ ║ Apple ║ ╚════════════╩═══════╝
输出应该是这样的:
╔══════════════╦═════════╗ ║ 1/Colour ║ ║ ╠══════════════╬═════════╣ ║ ║ 2/Blue ║ ╠══════════════╬═════════╣ ║ ║ 3/red ║ ╠══════════════╬═════════╣ ║ ║ 4/pink ║ ╠══════════════╬═════════╣ ║ 5/Fruidm ║ ║ ╠══════════════╬═════════╣ ║ ║ 6/mango ║ ╠══════════════╬═════════╣ ║ ║ 7/Apple ║ ╚══════════════╩═════════╝
或者像这样:
╔══════════════╦═════════╗ ║ 1/Colour ║ ║ ╠══════════════╬═════════╣ ║ ║ 3/Blue ║ ╠══════════════╬═════════╣ ║ ║ 4/red ║ ╠══════════════╬═════════╣ ║ ║ 5/pink ║ ╠══════════════╬═════════╣ ║ 2/Fruidm ║ ║ ╠══════════════╬═════════╣ ║ ║ 6/mango ║ ╠══════════════╬═════════╣ ║ ║ 7/Apple ║ ╚══════════════╩═════════╝
试试这个简短的macros:
Sub marine() Dim n As Long Dim r As Range n = 1 For Each r In ActiveSheet.UsedRange If r.Value <> "" Then r.Value = n & "/" & r.Value n = n + 1 End If Next r End Sub
已经发布的另一个变体:
Sub test() Dim cl As Range, i& Set cl = Cells.Find("*") For i = 1 To WorksheetFunction.CountA(Cells) If Not cl Is Nothing Then cl.Value2 = i & "/" & cl.Value2 Set cl = Cells.FindNext(cl) Else Exit For End If Next i End Sub
更新的附加问题:
无论如何删除每个字的开头数字和斜杠
你可以使用这个:
Sub test2() Dim n&, r As Range: n = 1 For Each r In ActiveSheet.UsedRange If r.Value2 Like "*/*" Then r.Value2 = Split(r.Value2, "/")(1) n = n + 1 End If Next r End Sub