2017-07-24 76 views
0

我是VBA的新手。我正在尝试制作一个按钮,以清除未受保护的单元格中的值。我有一张受保护的纸张,但我想确保只有未受保护的纸张被清除。我需要单元格中的范围吗?在此先感谢按钮清除不受保护的单元格

回答

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.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 
+0

这改变了我的格式。我只需要不受保护的单元格就像5的值一样变成格式相同的空白单元格 – Bsmith

+0

@Bsmith请参阅我的**编辑#1 ** –

相关问题