Excel vba重命名复选框
|
我有一个包含许多复选框的工作表。 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继续,导致该行中的名称重复。
有谁可以帮助我解决这个重新编号的问题?
非常感谢!
亲切的问候,
渣
没有找到相关结果
已邀请:
2 个回复
死狸蔽垂藐
你换
其中8是\“ CheckBox \”的长度。