Страницы: 1
RSS
Запрет на изменение границ ячеек
 
Здравствуйте! Можно ли как то защитить границы ячейки от изменения, имею ввиду не размеры ячейки, а нарисованные границы. В Экселе ведется расстановка сотрудников по направлениям на сутки. Каждый раз у сотрудника меняется направление, ячейку с его фамилией нужно перетаскивать в другое место. Но если так делать, то ячейка забирает с собой границы, а этого не нужно.  
 
Цитата
Sof07 написал:
ячейка забирает с собой границы
Так именно об этом Вы и просите в названии темы - запретить менять их. Какие границы были - такими и останутся ))
 
нужно скопировать только данные?
копируйте ячейку, правой кнопкой мыши  по месту вставки, Специальная вставка, Значения
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, не копирование, а перемещение нужно )
 
Цитата
Юрий М написал:
Так именно об этом Вы и просите в названии темы - запретить менять их. Какие границы были - такими и останутся ))
это как я понимаю запретить форматирование?  Мн нужно что бы форматирование конечной ячейки оставалось. т. е. Той, в которую я перемещаю ячейку с данными
 
Цитата
Sof07 написал:
Мн нужно что бы форматирование конечной ячейки оставалось
см. сообщение #3
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Вручную или макросом.
 
Цитата
Ігор Гончаренко написал:
см. сообщение #3
это слишком сложно для моих коллег, постоянно все границы поганят  
 
Цитата
Юрий М написал:
Вручную или макросом
не подскажите, есть ли подобный макрос в свободном доступе?
 
Теперь есть ))
См. файл. Контролируется диапазон в столбце В.
 
Цитата
Цитата
Юрий М написал:
Теперь есть ))См. файл. Контролируется диапазон в столбце В
Спасибо! Я с программированием лишь поверхностно, балуюсь питоном на курсах яндекса. Не могли бы вы пояснить код? В моем случае границы ячеек разные, где то жирные, где то тонкие, как можно это реализовать?  
 
Sof07, не уверен что будет понятно)
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2:B10")) Is Nothing Then 'проверка были изменены ячейки в указанном диапазоне
        Target.Borders.LineStyle = True 'если условие выше верно - меняем границы на заданные если не выполняется - выход из макроса
    End If
End Sub
Изменено: Mershik - 26.09.2020 22:09:43
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Sof07 написал:
В моем случае границы ячеек разные, где то жирные
И Вы об этом СРАЗУ упомянули? Или я должен был сам догадаться?
Попробуйте новый вариант. Код с комментариями.
 
Цитата
Юрий М написал:
И Вы об этом СРАЗУ упомянули?
я думал это очевидно))
Что то не работает, либо, скорее всего, у меня руки кривые. Нужна примерно такая таблица, как в файле
Страницы: 1
Наверх