首页 > 解决方案 > 形状会自动更改其名称

问题描述

我使用“记录宏”在 VBA 中查找形状名称

首先,它显示一个形状的名称为“ Snip Diagonal Corner Rectangle 11 ”。但是,几天后,我无法运行与此形状相关的宏,它通知我“找不到具有特定名称的项目”。当我再次通过“Record Macro”重新检查它的名称时,名称已更改为“ Rectangle: Diagonal Corners Snipped 11 ”。

我对“记录宏”功能感到很困惑,它是否每次都有不同的调用形状名称的方式,或者这在某种程度上是由操作员引起的任何错误的结果。

如果有人对此有所了解,请向我解释。谢谢!

标签: excelvbadebuggingshapes

解决方案


感谢您的所有帮助。如果您想重新检查并重现错误,我会在此处发布我的代码。实际上,每当单击某些按钮时,我都会尝试显示和隐藏某些形状。这里的重点是这些形状被分配了宏,所以我需要一遍又一遍地调用它们。

Code1:私有子 EditInformation_Click()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Sheet5.Unprotect

Sheet5.Cells(2, "C").Locked = False
Sheet5.Range("D2:G2").Locked = False
Sheet5.Range("C8:J115").Locked = False

Sheet5.Shapes.Range(Array("Rectangle 43")).Width = 318.24
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 11")).Visible = False
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 14")).Visible = True
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 15")).Visible = True
Sheet5.Cells(2, "C").Value = ""
Sheet5.Cells(2, "D").Value = ""
Sheet5.Range("C8:J115").Value = ""
Sheet5.Cells(3, "O").Value = "Edit mode"

Application.Calculation = xlCalculationAutomatic

Call CommandButton1_Click

Application.ScreenUpdating = True

结束子

代码 2:子 DiscardButton()

Sheet5.Unprotect
Sheet5.Shapes.Range(Array("Rectangle 43")).Width = 166.32
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 11")).Visible = True
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 14")).Visible = False
Sheet5.Shapes.Range(Array("Snip Diagonal Corner Rectangle 15")).Visible = False
Sheet5.Range("C2:G2").Value = ""
Sheet5.Range("C8:J115").Value = ""
Sheet5.Cells(3, "O").Value = ""
Sheet5.Protect

结束子


推荐阅读