Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как копировать ячейки привязанные к галочкам - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как копировать ячейки привязанные к галочкам (Формулы/Formulas)
Как копировать ячейки привязанные к галочкам
omsk29091988 Дата: Суббота, 11.09.2021, 18:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Есть фаил в нем ячейки с галочками для выбора работ, как мне их скопировать вниз по столбцу 1000+ раз?
К сообщению приложен файл: 9254708-2.xlsx (27.6 Kb)
 
Ответить
СообщениеЕсть фаил в нем ячейки с галочками для выбора работ, как мне их скопировать вниз по столбцу 1000+ раз?

Автор - omsk29091988
Дата добавления - 11.09.2021 в 18:29
Egyptian Дата: Суббота, 11.09.2021, 18:38 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
как мне их скопировать вниз по столбцу 1000+ раз?

На всякий случай повторюсь, что вы можете скопировать из просто протянув вниз, Но, как я уже написал ВНУТРЕННИЕ адреса этих чекбоксов надо менять вручную. Например чекбокс в ячейке А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]


Сообщение отредактировал Egyptian - Суббота, 11.09.2021, 18:41
 
Ответить
Сообщение
как мне их скопировать вниз по столбцу 1000+ раз?

На всякий случай повторюсь, что вы можете скопировать из просто протянув вниз, Но, как я уже написал ВНУТРЕННИЕ адреса этих чекбоксов надо менять вручную. Например чекбокс в ячейке А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]

Автор - Egyptian
Дата добавления - 11.09.2021 в 18:38
bigor Дата: Суббота, 11.09.2021, 18:49 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1100
Репутация: 210 ±
Замечаний: 0% ±

нет
Я не шарю, но здесь [vba]
Код
TopLeftCell.Offset(0, lCol).Address
[/vba]заменил бы 0 на 1
Попробовать сам не могу


Сообщение отредактировал bigor - Суббота, 11.09.2021, 18:55
 
Ответить
СообщениеЯ не шарю, но здесь [vba]
Код
TopLeftCell.Offset(0, lCol).Address
[/vba]заменил бы 0 на 1
Попробовать сам не могу

Автор - bigor
Дата добавления - 11.09.2021 в 18:49
Egyptian Дата: Суббота, 11.09.2021, 18:58 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 514
Репутация: 185 ±
Замечаний: 0% ±

Excel 2013/2016
заменил бы 0 на 1

Это на первый взгляд было бы очевидным решением, но, увы, нет. Адреса в первых четырех ячейках меняются неправильно. А2->А4->А5->А5...
 
Ответить
Сообщение
заменил бы 0 на 1

Это на первый взгляд было бы очевидным решением, но, увы, нет. Адреса в первых четырех ячейках меняются неправильно. А2->А4->А5->А5...

Автор - Egyptian
Дата добавления - 11.09.2021 в 18:58
bigor Дата: Суббота, 11.09.2021, 19:05 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1100
Репутация: 210 ±
Замечаний: 0% ±

нет
но, увы, нет

Ну значитэто подтверждает, что я действительно не шарю :)
Добрался до компа, вот такой вариант вроде работает
[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 - Суббота, 11.09.2021, 21:33
 
Ответить
Сообщение
но, увы, нет

Ну значитэто подтверждает, что я действительно не шарю :)
Добрался до компа, вот такой вариант вроде работает
[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
Дата добавления - 11.09.2021 в 19:05
omsk29091988 Дата: Суббота, 11.09.2021, 19:08 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Мир и благодать вам да умножатся. Буду изучать и действовать!
 
Ответить
СообщениеМир и благодать вам да умножатся. Буду изучать и действовать!

Автор - omsk29091988
Дата добавления - 11.09.2021 в 19:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как копировать ячейки привязанные к галочкам (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!