VBA - 编译错误:预期:If或Select或Sub或Function或Property或Type或With或Enum或end of statement

问题描述 投票:1回答:1

请原谅我的noob问题。在VBA工作不是我的正常工作。

我收到标题中列出的错误。违规代码是这样的:

While index <= 10
    index = index + 1
End While

我无法想象这可能是什么问题,因为它直接从文档中复制:https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/while-end-while-statement

看到代码不是问题,我认为问题必须是上下文中的问题,但在我把这个块放入之前,它工作正常。

这段代码是一个简单的私有子例程的一部分,它声明一个变量,为它赋值,然后将其写入文件,如下所示:

Private Sub btnExpAll_Click()
Dim sFldr As String
sFldr = BrowseFolder("Where do you want to export the files?") 
If sFldr = "" Then Exit Sub                                    
DoCmd.Hourglass True

Dim sListLocal As String
Dim index As Integer

Dim strInputFileNameLocal As String

sListLocal = ""

index = 0

While index <= 10
    index = index + 1
End While

strInputFileNameLocal = sFldr & "\list-local.html"

Open strInputFileNameLocal For Output As #1
Print #1, sListLocal
Close #1

DoCmd.Hourglass False

End Sub

我们的想法是在我们根据某些条件通过while循环时向文件添加更多文本 - 但是因为我甚至无法编译while循环...

vba ms-access while-loop access-vba compiler-warnings
1个回答
2
投票

引用的链接是VB.net示例,它与VBA有相似之处,在一些简单示例中很容易混淆。用End While替换Wend或使用Do … Loop结构。

评论:https://excelmacromastery.com/vba-while-loop/

© www.soinside.com 2019 - 2024. All rights reserved.