如何让VBA识别我的循环“001”?

时间:2014-03-11 19:10:54

标签: string vba loops integer

我正在制作如下基本循环:

Sub IntegerTestforSuffixFinder()

Dim i As Double

i = 1
MsgBox (i)

    Do While i < 100
i = i + 1
    If vbOK Then
MsgBox (i)
    Else: End
    End If

    Loop

End Sub

这很好......但是我真的需要它才能解决我即将解决的实际问题是识别i = 001.在这种情况下,零是重要的占位符,但它一直在纠正我我= 1.有没有办法阻止这个?

非常感谢!

2 个答案:

答案 0 :(得分:3)

你不会。你不能。但是可以在循环中使用原始的Integer,并创建一个可以显示的字符串。试试这个,看看你是否能从中得到你需要的东西:

Sub IntegerTestforSuffixFinder()

Dim i As Double

i = 1
MsgBox (i)

    Do While i < 100
    i = i + 1
    If vbOK Then
       'Original integer
       MsgBox (i)
       '3-character string created by using the Right() function
       MsgBox Right("000" & i, 3)
    Else: End
    End If

    Loop

End Sub
顺便说一句,在你的原始例子中,你意识到你在2点开始你的MsgBox?设置i = 1,然后在显示第一个MsgBox之前添加1。我想你可能想把那个 i = i + 1 一行移到Loop之前。

答案 1 :(得分:2)

试试这个: 格式单元格 - 自定义。使用&#34; 0&#34;查找类型。键入三&#34; 0&#34;如下:

enter image description here

该值保持为整数。