我正在使用一个小宏在受保护的工作表中添加和删除行。为此,每一行都有一个“删除”按钮。添加新行时,将复制最后一个现有行(包括“删除”按钮),然后清除其内容。
为了删除行,我交出了一些参数,包括“删除”按钮的(以及项目的)行。为此,我使用:
RowToDelete = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
此代码适用于现有行,但对于自上次打开工作簿以来添加的所有行(最后一行除外),它将失败。对于所有其他,它将删除添加的下一行而不是“真实”行。
我猜这是一个缓存问题,因为“Application.Caller”包含正确的字符串,但返回不再带有该名称的复制形状的行。
有没有办法清除相关缓存或强制 Shapes() 不使用缓存?
非常感谢你的帮助。