我有一个包含许多复选框的工作表。 Excel将它们自动命名为CheckBox1,CheckBox2等...但是,对于我的文档,我需要将它们全部重命名为Rij11_1,Rij11_2等(Rij11是第11行,_1是该行中的第一个复选框,依此类推) 。 对于每一行,重命名始于_1。Excel vba重命名复选框
#1会员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继续,从而导致行中的名称重复。
有没有人能帮我解决这个重新编号问题?
非常感谢!
亲切的问候, 马克