gpt4 book ai didi

string - 如何设置 Do...While... 循环 (VBA) 的延续?

转载 作者:行者123 更新时间:2023-12-03 09:25:12 27 4
gpt4 key购买 nike

现在,我只是显示一个消息框,其中将显示文件名(此处的示例是 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?

最佳答案

将此代码与单循环一起使用:

Sub IntegerTestforSuffixFinder()

Dim i As Double
Dim NameStr As String
Dim LengthMeasure As Integer

NameStr = "PrettyPonies"
LengthMeasure = Len(NameStr)

Do While i < 99
i = i + 1
If vbOK Then
'3-character string created by using the Right() function
MsgBox NameStr & "-" & Right("00" & i, 3)
Else: Exit Sub
End If
Loop
End Sub

顺便说一句,不要使用 Else: End,而是使用 Else: Exit Sub

还有一件事,由于 vbOK 等于 1,因此您的 Else 部分永远不会计算。在您的实际代码中,您可以使用如下内容:

If MsgBox("Any Question", vbOKCancel) = vbOK Then

关于string - 如何设置 Do...While... 循环 (VBA) 的延续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22354107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com