2016-08-23 3 views
1

Лист 1 в книге A содержит некоторые ячейки с защищенными формулами и некоторые ячейки, которые используются для ввода незащищенных данных. Существует несколько файлов, которые используют эту структуру.Скопируйте все незащищенные ячейки в Лист на другой лист и сохраните позицию

Теперь я обновил формулы в файле шаблона, который использует ту же структуру. Что я хочу сделать, это скопировать все незащищенные ячейки и перенести их в одно и то же место в новом файле.

Предположим, что диапазон A1: R99, и у меня есть незащищенные ячейки в B1: B99 и G1: G99 (несколько разных мест в реальном файле, поэтому ввод всех разных диапазонов займет много времени). Затем я хочу скопировать B1: B99 в том же месте в новом файле. Надеюсь, что есть лучший способ сделать это, чем вводить каждый диапазон вручную!

+1

Что вы пробовали? Пожалуйста, предоставьте код, который вы получили. Если у вас их нет, начните с малого и сделайте это шаг за шагом. Доступ к различным книгам, переключение по ячейкам, проверка свойств ячеек и т. Д. – arcadeprecinct

ответ

1

Предположим, у вас есть данные в «Лист1», и если вы хотите, чтобы скопировать все незащищенные клетки нового листа, позволяет сказать, «Лист2» ​​в том же месте, как они были в «Лист1», то

Sub Foo() 

If Sheets("Sheet1").ProtectContents = True Then 

    Worksheets("Sheet1").Activate 
    For i = 1 To 99 
     For j = 1 To 18 
      If Cells(i, j).Locked = False Then 
       a = Cells(i, j).Value 
       Worksheets("Sheet2").Activate 
       Cells(i, j).Value = a 
       Worksheets("Sheet1").Activate 
      End If 
     Next j 
    Next i 

End If 

End Sub 
Смежные вопросы