2016-07-24 2 views
0

Я хочу очистить незащищенное содержимое защищенного листа в определенном диапазоне. например, когда я запускаю VBA, он очищает содержимое в диапазоне от A1002: F1301 и G1002: AZ1301. Указанные диапазоны не защищены. Я хочу, чтобы только ячейка между этими диапазонами была ясной, но не форматированной или каких-либо других изменений.Очистить Содержание незащищенного Удельный диапазон в защищенном листе

+0

https://msdn.microsoft.com/en-us/library/office/ff835589.aspx –

ответ

0

Поскольку диапазоны ваш пример (например A1002: F1301 и G1002: AZ1301) на самом деле не имеют каких-либо неиспользуемых столбцов или строк между ними, я собираюсь изменить свой пример A1002: F1301 и H1002: AZ1301, который уходит столбец G, не связанный с двумя Areas в неудовлетворительном диапазоне.

Используйте что-то похожее на один из следующих первых двух методов.

with worksheets("Sheet1") 
    .range("A1002:F1301, H1002:AZ1301").clearcontents 
    'alternative with Union 
    union(.range("A1002:F1301"), .range("H1002:AZ1301")).clearcontents 
    'do NOT use the following - it includes all the cells in between 
    .range("A1002:F1301", "H1002:AZ1301").clearcontents 
end with 

Первый метод - это стенография второго номера Union method. Обратите внимание на разницу между первой и третьей. Третий НЕ рекомендуется для ваших целей, поскольку он включает в себя все ячейки между двумя диапазонами (например, A1002: AZ1301).

Range.ClearContents method только удаляет значения, отличные от Range.Clear, который очищает значения и форматы.

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