2016-07-24 19 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た葉不連続な範囲の2つのAreasで参照されていない列G。

次の最初の2つの方法のいずれかと同様の方法を使用します。

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 

第1の方法は、第2のUnion methodの略語である。第1と第3の違いに注意してください。 3つ目は、2つの範囲(A1002:AZ1301など)の間のすべてのセルを含むため、あなたの目的にはおすすめできません。

Range.ClearContents methodは、値とフォーマットを消去するRange.Clearとは異なり、値をクリアするだけです。

関連する問題