Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找并替换数字为vba中不起作用的文本_Vba - Fatal编程技术网

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

查找并替换数字为vba中不起作用的文本,vba,Vba,我有一张数据表,在D列中是数字(例如15、16)。出于数据分析目的,我需要将它们替换为文本,以便它们可以显示为015,016。对于其余的数字,我可以将它们保留为文本,但不能添加前导零 我当前的代码只将它们更改为文本,但未能添加我需要的前导零。再说一次,因为我只需要15到015,16到016,这就是我设置代码的方式。其余部分可以是不带前导零的文本 Sub test() With Worksheets("RTLDC") Dim LR99 As Long, xy As Long, ij As

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


这是一个格式范围问题,请尝试按单元格设置格式

范围(“D”和ij).NumberFormat=“@”

如果你使用

列(“B:B”).NumberFormat=“@”


参考

这是一个格式范围问题,请尝试按单元格设置格式

范围(“D”和ij).NumberFormat=“@”

如果你使用

列(“B:B”).NumberFormat=“@”


参考

它看起来像一个单元格格式问题。我认为它应该是文本而不是数字。如果您尝试了
范围(“D”&ij)。NumberFormat=“@”
?谢谢您,它工作起来很有魅力!!非常感谢。这看起来像是一个单元格格式问题。我认为它应该是文本而不是数字。如果您尝试了
范围(“D”&ij)。NumberFormat=“@”
?谢谢您,它工作起来很有魅力!!感谢。或更短的:
[B:B]。NumberFormat=“@”
或更短的:
[B:B]。NumberFormat=“@”