button清除未受保护的单元格

我是VBA的新手。 我试图做一个button,将清除我的无保护的单元格中的值。 我有一个受保护的工作表,但我想确保只有不受保护的单元格被清除。 我需要一个单元格的范围? 提前致谢

工作表受到保护 ,单元格被locking

试试这个:

Sub KlearStuff() Dim r As Range, rKlear As Range Set rclear = Nothing For Each r In ActiveSheet.UsedRange If r.Locked = False Then If rKlear Is Nothing Then Set rKlear = r Else Set rKlear = Union(rKlear, r) End If End If Next r rKlear.Clear End Sub 

编辑#1:
这只会清除内容

 Sub KlearStuff() Dim r As Range, rKlear As Range Set rclear = Nothing For Each r In ActiveSheet.UsedRange If r.Locked = False Then If rKlear Is Nothing Then Set rKlear = r Else Set rKlear = Union(rKlear, r) End If End If Next r rKlear.ClearContents End Sub