如何在Excel中的每个单词之前插入数字

View post on imgur.com

嗨,请检查上面的图像。 有没有办法在工作表中的每个单词之前插入数字。
我有这样一张桌子:

╔════════════╦═══════╗ ║ 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