繁体   English   中英

在另一个宏运行之前,工作表中的VBA代码不会在其他计算机上运行

[英]VBA Code in Worksheet Won't Run on Other Computer Until Another Macro Runs

我有一个工作表,应该根据更改的单元格来做一些事情。 该代码非常适合我,但是当我将文档发送给其他人时,工作表中的代码根本无法激活。 我通过在代码的顶部插入中断进行测试,但它并没有在新计算机上调用该代码。

如果我点击下面的按钮(创建新工作表)然后返回,则它开始工作。 如果用户使它正常工作(使用上面的button方法),保存该文档,然后再返回,它仍然可以工作。 问题是使工作表后面的代码立即开始运行。

我尝试过的事情:1.我添加了一个设置/说明选项卡,该选项卡需要一个复选框和按下按钮才能取消隐藏设置选项卡。 没有解决这个问题。 2.我隐藏了“设置”选项卡上的所有内容,除了单个“开始”按钮之外,该按钮可取消隐藏表单上的所有对象和文本。 不工作。

位于“设置”选项卡中的一些代码:

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Unprotect

If Not Intersect(Target, Range("D2")) Is Nothing Then

Call UpdateName

End If

再次,该代码对我来说是完美的,并且如果遇到此问题的用户使用了较大的宏之一,它将解决此问题。

虽然Worksheet_Change不运行任何代码, Worksheet_Activate做到了,它似乎已经完成了帽子戏法。 我添加了一个简单的Range("D2").Select ,它开始起作用。 不知道是什么原因造成的,并且只是测试文档的五个用户之一,但是它现在正在运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM