Страницы: 1
RSS
копирование (или удаление) данных исключая защищенные ячейки
 
Добрый день! тема уже обсуждалась на форуме в ней был предложен следующий макрос для ее решения:

Sub Copy_Only_FreeCells()
Dim rCopyRange As Range, rPasteRange As Range, rCell As Range
On Error Resume Next: Application.DisplayAlerts = False
Set rCopyRange = Application.InputBox("Выберите диапзаон для копирования", "Выбор данных", Type:= 8)
If rCopyRange Is Nothing Then MsgBox "Не выбран диапазон", vbCritical, "Ошибка": Exit Sub
Set rPasteRange = Application.InputBox("Выберите диапзаон для вставки", "Выбор данных", Type:= 8)
If rPasteRange Is Nothing Then MsgBox "Не выбран диапазон", vbCritical, "Ошибка": Exit Sub
On Error GoTo 0: Application.DisplayAlerts = True

rCopyRange.Parent.Activate
For Each rCell In rCopyRange
If rCell.Locked = False Then rCell.Copy rPasteRange.Parent.Range(rCell.Address)
Next rCell

End Sub

Применив на своем примере результата не получил. Подскажите пожалуйста в чем ошибка или как его можно модернизовать для моего примера. Версия Excel - 2010
ссылка на тему ранее обсуждавшуюся http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=13499
Изменено: syt89 - 11.04.2013 07:12:04
 
Никто не может помочь или вопрос поставлен  не верно?
 
А где в Вашем примере защита листа? И какие ячейки НЕ ЗАЩИЩЕНЫ? Я посмотрел - у Вас абсолютно все ячейки с атрибутом "Защищаемая ячейка".
Почитайте статью: Как разрешить изменять только выбранные ячейки?
а то я полагаю Вы не в курсе как сказать Excel какие ячейки считать защищенными...Скрытые и защищенные - это разные вещи.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Добрый день! Да действительно в спешке забыл поставить защиту листа выкладываю пример с установленной защитой листа. Посмотрите пожалуйста
 
Уважаемые специалисты подскажите пожалуйста возможно ли с каким либо способом (вероятно макросом) в приложенном примере сделать следующее:
1) выделить диапазон который содержит защищенные и незащищенные ячейки и удалить значения только из не защищенных
2) выделить диапазон который содержит защищенные и незащищенные ячейки скопировать его и вставить на 10 строк ниже
 
День добрый! Разобравшись в вышеуказанном макросе я понял, что с помощью него можно скопировать диапазон с одного листа и вставить в точно такой же диапазон другого листа, подскажите пожалуйста, как сделать возможным чтобы скопированные ячейки диапазона rCopyRanger вставлялись непосредственно в диапазон для вставки PasteRange. на примере это выглядило бы так запустив макрос копируемый диапазон указать $B$12:$BR$13 на листе "форма" и а диапазон для вставки  $B$14:$BR$15 на этом же листе
 
Добрый день! Так как вопрос остался без ответа, обращаюсь еще раз за помощью разобраться с проблемой. Если вопрос сформулирован не конкретно  или не хватает исходных данных прошу написать.
С уважением, syt89
Страницы: 1
Наверх