Microsoft Excel

Herbers Excel/VBA-Archiv

Nicht gesperrte Zellen löschen


Betrifft: Nicht gesperrte Zellen löschen von: UweD
Geschrieben am: 27.01.2018 23:33:13

Hallo

Ich habe in einem Blatt

  • Zellen mit Formeln, //// Schutz an ////
  • Zellen mit Texten (Feld Bezeichner) //// Schutz an //// und

  • Zellen mit Eingaben (Texte und Zahlen) //// Schutz aus ////

    Blattschutz ist gesetzt mit TB1.Protect userinterfaceonly:=True

    Die EingabeFelder sind auf dem Blatt verteilt.

    soweit so gut.

    Nun möchte ich alle Eingabefelder leeren

    Wie kann ich das elegant machen ?

  • ohne die Zellen vorher per definiertem Namen zusammenzufassen
  • ohne die Zellen im VBA als Union(,,) zu definieren

    Mit TB1.Cells.SpecialCells(xlCellTypeConstants, 3).ClearContents

    lösche ich ja auch die Feldbezeichner weg

    Sowas wie TB1.Cells.SpecialCells(xlCellTypeConstants, 3).NOT LOCKED.ClearContents ????

    LG UweD

      

    Betrifft: AW: Nicht gesperrte Zellen löschen von: Werner
    Geschrieben am: 27.01.2018 23:40:50

    Hallo Uwe,

    wenn es sich um einen zusammenhängenden Bereich handelt z.B. so:

    Public Sub aaa()
    Dim raZelle As Range
    
    For Each raZelle In Worksheets("Tabelle1").UsedRange
        If raZelle.Locked = False Then raZelle.ClearContents
    Next raZelle
    End Sub
    Gruß Werner


      

    Betrifft: AW: Nicht gesperrte Zellen löschen von: UweD
    Geschrieben am: 29.01.2018 08:18:52

    Hallo Werner

    das baue ich so ein. Besten Dank für den Tipp


    LG UweD


      

    Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T. von: Werner
    Geschrieben am: 29.01.2018 08:29:19




      

    Betrifft: AW: Eine Alternative von: Gerd L
    Geschrieben am: 28.01.2018 08:07:47

    Hallo Uwe,

    du kannst den Eingabezellen einen Namen zuweisen und auf diesen
    Range("DeinName") referenzieren.

    cu Gerd


      

    Betrifft: AW: Eine Alternative von: UweD
    Geschrieben am: 29.01.2018 08:22:43

    Hallo Gerd


    genau das wollte ich ja nicht

      ohne die Zellen vorher per definiertem Namen zusammenzufassen


    Dann müsste der User neue Zellen immer zu dem Namen hinzufügen.

    Ich nehm die Lösung mit der Schleife

    LG UweD


    Beiträge aus dem Excel-Forum zum Thema "Nicht gesperrte Zellen löschen"