【发布时间】:2014-01-21 10:03:50
【问题描述】:
我在 VBA 模块中有三个不同的 Subs 可用,并且想从通过 VBA 按钮激活的唯一 Sub 调用这一系列 Subs。
下面的代码运行:
Sub Updateworkbook()
Call Unprotectworkbook
Call CopyAndPaste
Call Protectworkbook
End Sub
在第一个Sub Unprotectworkbook() 运行后,另一个Sub 不会被调用和执行。为什么会这样?
下面Unprotectworkbook()子代码供大家参考
Sub Unprotectworkbook()
Dim myCount
Dim i
myCount = Application.Sheets.Count
Sheets(1).Select
For i = 1 To myCount
ActiveSheet.Unprotect "password"
If i = myCount Then
End
End If
ActiveSheet.Next.Select
Next i
End Sub
【问题讨论】:
-
您的代码是正确的。
Unprotectworkbooksub 中可能有一些内容,因此您需要将其代码添加到您的问题中。您的工作簿中是否有任何会影响代码执行的事件? -
你能显示
Unprotectworkbook的代码吗? -
如果看不到您的
subs的内容,很难回答您的问题。这就像蒙着眼睛大海捞针。 -
使用您的逻辑,无需过多更改代码,只需将
End更改为Exit For或Exit Sub。
标签: vba excel subroutine