У меня есть лист с множеством флажков.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, что приводит к дублированию имени в строке.
Кто-нибудь может мне помочь с этой проблемой перенумерации?
Большое спасибо!
С уважением, Марк