查找并替换数字,因为文本在vba中不起作用

时间:2019-01-22 15:06:30

标签: vba

我有一个数据表,在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后看到的图片,第二张是我的愿望结果。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

这是格式范围问题,请尝试按单元格进行格式化

Range("D" & ij).NumberFormat = "@"

如果使用,可能会更好

Columns("B:B").NumberFormat = "@"

引用https://www.excel-easy.com/vba/examples/entire-rows-columns.html