2016-07-24 107 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不同的值,這會清除值和格式。

相關問題