假设我有5个工作表和..
shcount = worksheets.count
现在我有程序删除基于某些细节的工作表,然后我循环程序再次执行它。 shcount是否仍然等于5或现在它等于4.我正在阅读的书的作者似乎暗示它保持在5,因为在她循环程序之前,她放入了这个:
shcount = shcount -1 循环直到shcount = 1就像一个计数器
答案 0 :(得分:1)
是的它会保持在5,因为当你为你的变量分配了workheets.count时它是5。变量是不与计数相关的快捷方式,它是某个时间点的计数副本。在赋值(shcount = worksheets.count)之后,shcount和worksheets.count之间没有链接,更改计数不会影响变量作为其孤立的副本。
要更新shcount,您必须执行另一项任务(即shcount = worksheets.count),或者在作者正在进行时自行维护该值。
答案 1 :(得分:0)
你的问题有点令人困惑。
shcount = worksheets.count
将值5分配给变量shcount
。 shcount
将保持为5,直到其值被修改。它没有指向实际Worksheets
集合的链接。
您应该观看整个系列Excel VBA Introduction。此视频:Excel VBA Introduction Part 3 - What to do When Things Go Wrong (Errors and Debugging)将教您如何逐步执行代码并逐行检查变量值。
我在这里为shcount
设置了一个监视。这样,shcount
的值将在监视窗口中显示。另请注意,该变量位于Locals窗口中。
当我单步执行代码时,您可以看到它的价值变化。