我有一个数据表,在D列中是数字(例如15、16)。为了进行数据分析,我需要将它们替换为文本,以便可以将它们特别显示为015、016。对于其余数字,我可以将其保留为文本,但不能添加前导零。
我当前的代码仅将其更改为文本,但未能添加我需要的前导零。再一次,因为我只需要15为015和16为016,这就是我设置代码的方式。其余的可以是不带前导零的文本。
Sub test()
With Worksheets("RTLDC")
Dim LR99 As Long, xy As Long, ij As Long
Dim fndList As Variant, rplcList As Variant
LR99 = Range("A" & Rows.Count).End(xlUp).Row
fndList = Array("15", "16")
rplcList = Array("015", "016")
Range("D:D").NumberFormat = "@"
For xy = LBound(fndList) To UBound(fndList)
For ij = 1 To LR99
If Range("D" & ij).Value = fndList(xy) Then
Range("D" & ij).Value = rplcList(xy)
End If
Next ij
Next xy
End With
End Sub
第一张图片是我运行vba后看到的图片,第二张是我的愿望结果。
答案 0 :(得分:2)
这是格式范围问题,请尝试按单元格进行格式化
Range("D" & ij).NumberFormat = "@"
如果使用,可能会更好
Columns("B:B").NumberFormat = "@"
引用https://www.excel-easy.com/vba/examples/entire-rows-columns.html