Seite 1 von 1

ungeschützte Zellen per Makro leeren

Verfasst: Di, 12.01.2010 17:25
von Worker734
Hallo,

ich habe mehrere aber nicht zusammenhängende Zellbereiche welche ich per makro leeren möchte.
Da ich für diese Bereiche keinen Namen definieren kann um diese über diesen markieren zu können, denke ich wäre
es am Besten das gesamte Dokument zu schützen und dann per makro alle ungeschützen Zellen zu löschen.

Habe es mit diesem Code aber erfolglos versucht:

Code: Alles auswählen

Sub Loesch()
Dim Zelle As Range
For Each Zelle In Selection
If Not Zelle.Locked Then Zelle.ClearContents
Next Zelle
End Sub

Hat jemand eine Lösung dafür.

Danke und Gruß

Re: ungeschützte Zellen per Makro leeren

Verfasst: Di, 12.01.2010 17:50
von lorbass
Deine Frage gehört ins Forum OOo Basic und Java. Du scheinst dich allerdings noch nicht intensiv mit OOo-Basic auseinandergesetzt zu haben, so dass ich deine Aufmerksamkeit gerne auf die von Stephan zusammengestellten Informationen zur StarBasic-Programmierung lenken möchte.

Speziell zu deinem Thema passen die beiden Kapitel
7.1.4 Wie kann man den Inhalt von Zellen löschen?
7.1.5 Wie kann man die Zellen eines Ranges auswerten?
aus Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ.

Gruß
lorbass

Re: ungeschützte Zellen per Makro leeren

Verfasst: Di, 12.01.2010 18:12
von Worker734
Hallo lorbass,

hast Recht mit Open Office hatte ich bisher nichts zu tun. Aber dafür mit Microsoft Excel.

Danke für die Interessanten Links welche sehr informativ sind. Aber ich kann nicht finden wie ich per
makro mehrere Bereich selectieren kann um diese dann leeren zu können.

Gruß worker734

Re: ungeschützte Zellen per Makro leeren

Verfasst: Di, 12.01.2010 20:26
von lorbass
Worker734 hat geschrieben:Aber ich kann nicht finden wie ich per makro mehrere Bereich selectieren kann um diese dann leeren zu können.
7.2.4 Wie kann man auf Zellbereiche zugreifen?
Michael Dannenhöfer hat geschrieben:Man kann auch gleichzeitig mehrere Bereiche auswählen. Dann müssen diese nur mit Komma getrennt eingegeben werden.
getCellRangeByName("A1:B5","C4:D9") ergibt dann den Bereich A1:B5 und C4:D9
Gruß
lorbass