Lori想要与他人共享工作簿时遇到问题。该工作簿包含一个宏,但是只要该工作簿受到保护以防止其他人对该工作簿进行更改,Lori就会报告“该宏已禁用”。

Lori的确切问题有点难以重现,因为测试表明,在受保护的工作表和受保护的工作簿中宏仍然可用。您仍然可以显示“宏”对话框,并查看可用宏的列表。您仍然可以选择其中一个宏并运行它。

当然,查看和运行宏可能不是Lori的问题。在受保护的工作表上使用宏时,可能无法正确运行。在这种情况下,通常只有在宏尝试执行某些违反工作表保护的操作时,问题才会出现。例如,如果保护不允许删除行或列,而宏试图这样做,则它将无法工作。

在这种情况下,解决方案是修改宏,以便在进行更改之前取消保护工作表。下面显示了完成此操作的基础:

Sub ModifyProtectedSheet()

ActiveSheet.Unprotect password:="yourpassword"



'work on the worksheet here

ActiveSheet.Protect password:="yourpassword", _       DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub

本示例的第一行取消保护工作表,然后可以执行处理,然后最后一行再次保护工作表。如果您的工作簿使用保护,则可以对工作簿使用相同的技术-取消保护它,然后进行更改,然后重新保护它。

Lori的问题也可能与她在问题陈述中使用的“共享”一词有关。如果通过共享,Lori意味着使用“共享工作簿”使其他人“共享”该工作簿,那么激活共享时,您将看到警告。该警告表明在共享工作簿中不能“查看或编辑”宏。但是,这并不意味着宏被禁用,因为您仍然可以显示“宏”对话框以查看宏列表并选择要运行的宏。但是,您无法显示VBA编辑器并查看实际的宏代码。

最后,Excel的某些功能只是在共享工作簿中被禁用。如果您的宏尝试执行任何这些禁用的操作,它将无法正常工作。这是Excel的局限性,它无能为力。 (有关共享工作簿无法完成操作的更多信息,请使用联机帮助系统并搜索“共享工作簿,限制”。)解决这些限制的唯一方法是不共享工作簿。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2833)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: