我正在尝试找到以下问题的解决方案:列A包含名称,我希望将这些名称保留在那里并使用将自动编号的代码。就像是:
我在StackOverflow上看了很多例子,但这些代码的作用主要是自动编号一些单元格而不必将文本保存在同一个单元格中:vba auto increment a number? 请你帮助我好吗?
这是我使用的代码,但我只设法插入数字,而不是将文本保留在同一个单元格中。
Sub autonumber()
Dim i As Integer
Dim cell As Range, rng As Range
Set rng = Range("A1:A10")
i = 1
For Each cell In rng
cell.Value = "" & i
i = i + 1
Next cell
End Sub
更改
cell.Value = "" & i
至
cell.Value = i & ". " & cell.Value
此外,如果您只想选择并自动编号,那么您根本不需要rng
:只需使用
For Each cell In Selection
你可以在没有VBA的情况下做到。
只是:
你可以创建一个“自动编号”传播行(A1)到列A的单元格
祝好运
再加上@Luis Curado的回答,如果你没有从第一行开始(比如从A4开始),你可以做
=ROW(A4)-ROW(A$4)+1&". "&A4