VBA 包含文本的单元格自动编号

VBA auto number cells that contain text

我正在尝试为以下问题找到解决方案:A 列包含名称,我想将这些名称保留在那里并使用将自动编号的代码。 类似于:

我在 Whosebug 上看过很多示例,但这些代码所做的主要是自动对某些单元格进行编号,而不必将文本保留在同一单元格中: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

你可以不用 VBA。

刚刚:

  • 在单元格 A1 中输入公式 =row(A1)& ". " &C1 并复制到其他单元格

您可以创建一个 "autonumber" 传播行 (A1) 到列 A

的单元格

祝你好运

加上@Luis Curado 的回答,如果您不从第一行开始(比如从 A4 开始),您可以这样做

=ROW(A4)-ROW(A)+1&". "&A4

改变

cell.Value = "" & i

cell.Value = i & ". " & cell.Value

此外,如果您只想 select 和自动编号,那么您根本不需要 rng:只需使用

For Each cell In Selection