罗宾问了一个有关Excel中的奇数的问题。她创建了一个工作表,其中包含使用“表单”工具栏绘制的按钮,并为该按钮分配了一个宏。在工作表受到保护之前,该按钮可以正常工作,然后工作表的整个顶部均充当按钮。 (无论您将鼠标移至何处,都将显示手形图标,并且单击宏即可执行-无需单击按钮本身。)

对于“表单”工具栏上的所有项目,并不是所有问题都会发生,而是仅在某些情况下才会发生。这主要是因为宏按钮与单元格(例如单元格B2)相关联,然后删除了该单元格。这意味着该按钮实际上是“未附加的”,因此Excel对按钮所属位置感到困惑。当工作表受到保护时,Excel会奇怪地工作,因为它认为按钮“无处不在”,因为它并不真正知道按钮所属的位置。

显而易见的解决方案是确保将宏按钮始终附加到不会被删除的单元格上。取消保护工作簿,选择列标题附近的按钮的小条,然后将其移到要与其关联的单元格中。重新保护工作表,奇怪的行为应消失。

如果您看不到引起问题的按钮,则可能是因为它太小了。解决这种情况的方法是运行一个宏,该宏在工作表中搜索所有按钮并使它们可见。在不受保护的工作表上,运行以下命令:

Sub CheckShapes()

Dim myShape As Shape     For Each myShape In ActiveSheet.Shapes         With myShape             If .Height < 2 Then .Height = 20             If .Width < 2 Then .Width = 20         End With     Next myShape End Sub

宏会逐步浏览工作表中的所有形状,如果它们的高度或宽度小于2个像素,则会增加其高度和宽度,以便可见。现在,您应该能够看到宏按钮,并将其拖动到工作表上的某个位置或将其删除。

注意:

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

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

本技巧(2830)适用于Microsoft Excel 97、2000、2002和2003。