На всякий случай повторюсь, что вы можете скопировать из просто протянув вниз, Но, как я уже написал ВНУТРЕННИЕ адреса этих чекбоксов надо менять вручную. Например чекбокс в ячейке А2 прилинкован (прилинкован означает, что отмечая его галочкой он меняет значение этой ячейки с ЛОЖЬ на ИСТИНА) к ней и его внутренний адрес конкретно А2. При копировании вниз этот адрес к сожалению НЕ МЕНЯЕТСЯ и делать это надо вручную, или макросом (код ниже). Код этот начинает менять адреса с самой первой ячейки А1, а вам надо с А2, поскольку в ячейке А1 у вас текст. Может кто шарит в макросах согласится подправить его. [vba]
Код
Sub LinkCheckBoxes() Dim chk As CheckBox Dim lCol As Long lCol = 0 'number of columns to the right for link For Each chk In ActiveSheet.CheckBoxes With chk .LinkedCell = _ .TopLeftCell.Offset(0, lCol).Address 'Начинает замену адресов с ячейки А1, нужно подправить так, чтобы замена начиналась с ячейки А2 End With Next chk End Sub
На всякий случай повторюсь, что вы можете скопировать из просто протянув вниз, Но, как я уже написал ВНУТРЕННИЕ адреса этих чекбоксов надо менять вручную. Например чекбокс в ячейке А2 прилинкован (прилинкован означает, что отмечая его галочкой он меняет значение этой ячейки с ЛОЖЬ на ИСТИНА) к ней и его внутренний адрес конкретно А2. При копировании вниз этот адрес к сожалению НЕ МЕНЯЕТСЯ и делать это надо вручную, или макросом (код ниже). Код этот начинает менять адреса с самой первой ячейки А1, а вам надо с А2, поскольку в ячейке А1 у вас текст. Может кто шарит в макросах согласится подправить его. [vba]
Код
Sub LinkCheckBoxes() Dim chk As CheckBox Dim lCol As Long lCol = 0 'number of columns to the right for link For Each chk In ActiveSheet.CheckBoxes With chk .LinkedCell = _ .TopLeftCell.Offset(0, lCol).Address 'Начинает замену адресов с ячейки А1, нужно подправить так, чтобы замена начиналась с ячейки А2 End With Next chk End Sub
Ну значитэто подтверждает, что я действительно не шарю Добрался до компа, вот такой вариант вроде работает [vba]
Код
Sub LinkCheckBoxes() Dim chk As CheckBox Dim lCol As Long lCol = 0 'number of columns to the right for link i = 2 For Each chk In ActiveSheet.CheckBoxes
With chk .LinkedCell = "$A$" & i End With i = i + 1 Next chk End Sub
[/vba] Должен работать и первоначальный, но в файле косяки с расположением флажков.
Ну значитэто подтверждает, что я действительно не шарю Добрался до компа, вот такой вариант вроде работает [vba]
Код
Sub LinkCheckBoxes() Dim chk As CheckBox Dim lCol As Long lCol = 0 'number of columns to the right for link i = 2 For Each chk In ActiveSheet.CheckBoxes
With chk .LinkedCell = "$A$" & i End With i = i + 1 Next chk End Sub
[/vba] Должен работать и первоначальный, но в файле косяки с расположением флажков.bigor
Сообщение отредактировал bigor - Суббота, 11.09.2021, 21:33