2017-07-24 7 views
0

Ich bin ein Neuling bei VBA. Ich versuche eine Schaltfläche zu erstellen, die die Werte in meinen ungeschützten Zellen löscht. Ich habe ein geschütztes Blatt, aber ich möchte sicherstellen, dass nur die ungeschützten Zellen gelöscht werden. Brauche ich eine Reichweite in der Zelle? Vielen Dank im VorausSchaltfläche zum Löschen von ungeschützten Zellen

Antwort

1

Arbeitsblätter sind geschützt, Zellen sind gesperrt.

Geben Sie diesen einen Versuch:

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 

EDIT # 1:
Dies wird der Inhalt nur löschen:

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

Das ist meine Formatierung ändert. Ich brauche nur die ungeschützten Zellen von einem Wert von 5 in eine leere Zelle mit der gleichen Formatierung – Bsmith

+0

@ Bsmith Siehe meine ** EDIT # 1 ** –

Verwandte Themen