0

我的程序中有一个模块,当从主程序调用时会运行它,但我无法单步执行它或单独运行它,我不知道为什么。当我按 F8 时,似乎什么都没有发生。我希望能够在单步执行代码时监控变量。

这是模块中的代码:

Sub FileCntSub(ByVal StrPath As String)

Dim FolderPath As String, path As String, count As Integer, countstring As String

FolderPath = StrPath

path = FolderPath & "*.htm"

Filename = Dir(path)

Do While Filename <> ""
   count = count + 1
    Filename = Dir()
Loop

countstring = count
Range("Q8").Value = count
'MsgBox count & " : files found in folder"

结束子

任何想法为什么我不能单独运行这个?

谢谢

4

2 回答 2

1

您不能开始单步执行需要参数的子例程,例如:

Sub foo(bar as String)
    MsgBox bar
End Sub

按 F8 没有任何作用,因为参数bar尚未传递给过程。

在过程中使用断点,即在要执行的第一条语句上。运行通常调用它的过程(从命令按钮、事件处理程序等),然后您可以断点开始逐步执​​行。

于 2014-08-25T17:00:54.890 回答
0

无论您要单步执行哪一行,您只需单击左侧窗格,就会在该行中添加一个断点。然后,当您运行宏时,只会检查这些点。只需按照此处的指南http://www.wiseowl.co.uk/blog/s196/breakpoints.htm了解如何逐步完成程序中的各个点。

于 2014-08-25T15:51:20.887 回答