我有一个包含许多复选框的工作表。 Excel 自动将它们命名为 CheckBox1、CheckBox2 等...但是,对于我的文档,我需要将它们全部重命名为 Rij11_1、Rij11_2 等(Rij11 是第 11 行,_1 是该行中的第一个复选框,依此类推) 。
重要的是,每行的重命名都从 _1 开始。
Stackoverflow 成员 Osknows 和 Dave DuPlantis 已经在这方面帮助了我(非常感谢您到目前为止的所有帮助),代码如下:
Sub test()
Dim obj As OLEObject, ChkBoxRow as long
ChkBoxRow = 11
With Worksteets("Storia")
For Each obj In .OLEObjects
If TypeName(obj.Object) = "CheckBox" Then
if obj.TopLeftCell.Row = ChkBoxRow then
obj.Name = "Rij11_" & Right(obj.Name, 1)
end if
End If
Next obj
End With
End Sub
但是,每行上第一个重命名的复选框不会从 1 开始(通常是从 7 开始,出于某种我无法理解的原因),并且如果一行中有超过 10 个复选框,则编号不会超过 10。在 _9 之后,我得到 _0 而不是 _10,然后在 _0 之后,它再次继续 _1,导致该行中出现名称重复。
有谁可以帮我解决这个重新编号的问题吗?
多谢!
亲切的问候,
马克
这是摆脱这些的简单方法。突出显示要删除其中的复选框和关联文本的列或单元格。然后使用 CTRL+C 剪切它们,然后移动到另一张纸中,粘贴它们。 (如果您想删除一列复选框但保留另一列,或者删除随机复选框,则可以使用此方法)。现在按 F5,然后按“特殊”,然后按“对象”(在粘贴要删除的对象的工作表上),它们将全部被选中,现在只需剪切它们,完成! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)