【发布时间】:2014-04-16 17:45:54
【问题描述】:
现在,我只是显示一个消息框,其中将显示一个文件名(这里的示例是 PrettyPonies)、一个连字符和一个从 001,002,003 开始的后缀......等等。为后缀推荐的方法效果很好,直到它达到“010”,此时它显示“0010”,因为它的设置方式。为了解决这个问题,我想创建 2 组 Do...While 循环,如下所示:
Sub IntegerTestforSuffixFinder()
Dim i As Double
Dim NameStr As String
Dim LengthMeasure As Integer
NameStr = "PrettyPonies"
LengthMeasure = Len(NameStr)
Do While i < 9
i = i + 1
If vbOK Then
'3-character string created by using the Right() function
MsgBox Right(NameStr + "-" + "00" & i, LengthMeasure + 4)
Else: End
End If
Do While i > 10 And i < 99
i = i + 1
If vbOK Then
MsgBox Right(NameStr + "-" + "0" & i, LengthMeasure + 4)
Else: End
End If
Loop
Loop
End Sub
但是,我知道我在循环之间遗漏了一些东西,以使其继续到第二组。我试过把它变成一个完全不同的子,并尝试说继续或然后无济于事。程序在到达 009 后才退出子程序。
如何组合我的循环以使其最多计数为 99?
【问题讨论】:
-
将
Do While i > 10 And i < 99更改为Do While i >= 10 And i < 99。顺便说一句,为什么不使用单循环Do While i < 99并使用MsgBox NameStr & "-" & Right("00" & i, 3)? -
不走运,同样的结果:(
-
在上面看到我更新的评论
-
嗯,因为我不知道这会奏效!我对 VBA 还是很陌生。效果很好,非常感谢!
标签: string vba loops concatenation