Доброго времени суток. Возник вопрос или проблема, суть: Я добавляю флажок, привязываю ее к ячейке (той в которой она находится) цвет текста в этой ячейке делаю белым, чтобы не мозолил глаза текст (истина/ложь). формула ссылается только на "истину" Если я протягиваю эту ячейку вниз, у меня копируется "флажок" но привязка остается к первой ячейке можно это вручную подредактировать, Но строк у меня около 100 на которые необходимо протянуть Возможно ли каким-либо образом протянуть эту галочку на все 100 строк, чтобы привязка по ячейкам тоже менялась ? или это только макрос или же вручную ?
я уже пробовал убрать закрепление (знак $) все равно привязка остается к первой ячейке
так же вопрос при защите листа с некоторыми открытыми диапазонами (чтоб человек мог менять некоторые ячейки но не трогал формулы) защищается так же и флажок ( диапазон связанных ячеек с галочкой добавлен в разрешенный, в настройках самой галочки я убрал, что это защищаемый объект, но при защите листа Exel ругается , мол объект защищен
Не зная этого языка попросил чат gpt создать макрос вот сто он мне дал после некоторых уточнений
Скрытый текст
Код
Sub CopyCheckbox()
' Объявляем переменные
Dim ws As Worksheet
Dim chkBox As CheckBox
Dim srcCell As Range
Dim dstRng As Range
' Устанавливаем ссылку на текущую рабочую книгу и лист
Set ws = ThisWorkbook.Sheets("Лист3")
' Задаем ячейку, содержащую флажок, который нужно скопировать
Set srcCell = ws.Range("D2")
' Создаем диапазон, в который нужно скопировать флажок
Set dstRng = ws.Range("D3:D5")
For Each cell In dstRng
' Создаем новый флажок и помещаем его в текущую ячейку диапазона
Set chkBox = cell.OLEObject.Object
chkBox.TopLeftCell.Address = srcCell.Address
chkBox.LinkedCell = cell.Address
Next cell
End Sub
Sub CheckCheckBoxes()
Dim cb As CheckBox
For Each cb In ActiveSheet.CheckBoxes
cb.Height = 10
cb.Width = 15
cb.LinkedCell = cb.TopLeftCell.Address
Next
End Sub
а проблему защищенного листа решил тем, что не стал защищать лист это и удобнее т.к. разрешения мониторов у всех разная и порой цена не влазиет в размер ячейки и ширину столбца необходимо изменить.
P.S. для тех кто как я если вдруг найдет это в просторах интернета. Данный код привязывает все чекбоксы(флажки) к ячейкам в которых они находятся
т.е. я протянул ячейку к которой привязан один чекбокс , все чекбоксы скопировались, но они были как единое целое и привязаны к исходной ячейке, а макрос это исправил и привязал к тем где находится