我有一个电子表格,其中每一行都是空白的,列A以P开头,或者列A以星号(旧文本文件)开头。 P的值在整个文件中必须是唯一的 - 可以是字母或数字,但带有P前缀。我不想更改空白或星号单元格。
例如:
*** Block 1 ***
P1 <some data>
P1 <some data>
P1A <some data>
*** Block 2 ***
P2 <some more data>
P2 <some more data>
需要变得像:
*** Block 1 ***
P0001 <some data>
P0002 <some data>
P0003 <some data>
*** Block 2 ***
P0004 <some more data>
P0005 <some more data>
虽然我可以使用“查找”来匹配所有P单元格,但我不知道是否有一种方法可以使“替换”插入一些独特的文本(或不断递增的数字)。我怀疑我需要一些代码/宏。感谢。
答案 0 :(得分:1)
试试这个:
Sub FixTheP()
Dim r As Range
Dim N As Long, i As Long
i = 1
N = Cells(Rows.Count, "A").End(xlUp).Row
For Each r In Range("A1:A" & N)
If Left(r.Text, 1) = "P" Then
r.Value = "P" & Format(i, "0000")
i = i + 1
End If
Next r
End Sub
答案 1 :(得分:1)
作为不使用VBA的替代解决方案,您可以执行以下操作:
p*
<some data>
列是B列,请将替换为= ="P"&TEXT(COUNTA(INDIRECT("B1:B"&ROW())),"0000")
Sheet
By Rows
Formulas
查找/替换对话框应如下所示的屏幕截图:
请记住将A列变为值的最后一步。