Предполагая, что флажки находятся на листе с кодовым названием Sheet1
Sub test()
Dim obj As OLEObject, ChkBoxRow as long
ChkBoxRow = 1 'Only change checkboxes with topleft corner in row 1
With Sheet1
'Loop AX controls
For Each obj In .OLEObjects
'Check for checkbox only
If TypeName(obj.Object) = "CheckBox" Then
'Examples to identify location (as suggested by Dick Kusleika)
'ChkBoxRow = obj.TopLeftCell.Row
'ChkBoxCol = obj.TopLeftCell.Column
'ChkBoxAdd = obj.TopLeftCell.Address
'ChkBoxRow = obj.BottomRightCell.Row
'ChkBoxCol = obj.BottomRightCell.Column
'ChkBoxAdd = obj.BottomRightCell.Address
'etc
if obj.TopLeftCell.Row = ChkBoxRow then
obj.Name = "Rij11_" & Right(obj.Name, Len(obj.Name) - 8)
end if
End If
Next obj
End With
End Sub
Я обновил, показывая хороший метод Дик Куслейка указал на днях, чтобы найти, где находятся флажки.Вы можете проверить на If obj.TopLeftCell.Row = 1 Then
и т. Д.