Calc: Zeilen einfügen in Tabelle mit gesperrten Zellen

Hallo Leute,

wie kann ich in eine Tabelle mit gesperrten Zellen Zeilen einfügen ohne vorher
zu entsperren?
Geht das überhaupt?

Vielen Dank und viele Grüße

Günter Ohmer

Günter Ohmer schrieb:

Hallo Leute,

wie kann ich in eine Tabelle mit gesperrten Zellen Zeilen einfügen ohne vorher
zu entsperren?
Geht das überhaupt?

Um einzelne Zellen zu sperren, musst du doch das Tabellenblatt schützen. Und wenn das Blatt geschützt ist, kannst du keine Zeilen oder Spalten einfügen.
(Man kann dann nicht mal mehr Zellformatvorlagen ändern, was ich sehr bedauerlich finde und auch nicht so recht verstehen mag.)

Also: Meiner Ansicht nach geht das nicht.

Micha

Hallo Micha,

Danke!

Günter Ohmer schrieb:
> Hallo Leute,
>
> wie kann ich in eine Tabelle mit gesperrten Zellen Zeilen einfügen ohne
> vorher zu entsperren?
> Geht das überhaupt?

Um einzelne Zellen zu sperren, musst du doch das Tabellenblatt schützen.
Und wenn das Blatt geschützt ist, kannst du keine Zeilen oder Spalten
einfügen.

Habe ich mir auch schon selbst überlegt, aber die Bestätigung war mir wichtig.
Da muss ich wohl ein Makro schreiben.

viele Grüße
Günter

Hallo!

(LO Version: 4.1.1.2, Xubuntu 12.04)

Ich möchte in einer Spalte einer Tabelle in einem Writer-Dokument eine
nicht vorher feststehende Anzahl von Gleitkommazahlen addieren. Ich
vermute, daß ich dazu in der unter den Summanden stehenden Summenzelle
die Werte bis zu der Zeile oberhalb der Summenzelle angeben muß.

Aber wie referenziere eine Zeile oberhalb der aktuellen Zeile?

Danke!
GV

Guten Tag Günter Ohmer,

Hallo Micha,

Danke!

Günter Ohmer schrieb:
> Hallo Leute,
>
> wie kann ich in eine Tabelle mit gesperrten Zellen Zeilen einfügen ohne
> vorher zu entsperren?
> Geht das überhaupt?

Um einzelne Zellen zu sperren, musst du doch das Tabellenblatt schützen.
Und wenn das Blatt geschützt ist, kannst du keine Zeilen oder Spalten
einfügen.

Habe ich mir auch schon selbst überlegt, aber die Bestätigung war mir wichtig.
Da muss ich wohl ein Makro schreiben.

Vielleicht hilft dir das etwas weiter. Hier werden alle Tabellen
behandelt und geschützt oder freigegeben.

'╔═════════════════════════════════════════════════════════════════════╗
        Sub TabellenSchutzAn ' ║
'╚═════════════════════════════════════════════════════════════════════╝

' ┌───────────────────────────────────────────────────────────────────┐
' │ Deklaration der Variablen │
' └───────────────────────────────────────────────────────────────────┘
        Dim oDoc as Object
        Dim oSheet as Object
        Dim eSheets As Object
        Dim oCell as Object
  
' ┌───────────────────────────────────────────────────────────────────┐
' │ Definition der Variablen │
' └───────────────────────────────────────────────────────────────────┘
        oDoc = ThisComponent
        eSheets = oDoc.getSheets.createEnumeration
  
' ┌───────────────────────────────────────────────────────────────────┐
' │ Durchlauf aller Tabellen │
' └───────────────────────────────────────────────────────────────────┘
        While eSheets.hasMoreElements
        oSheet = eSheets.nextElement()

                oCell = oSheet.getCellRangeByName("C1")
                oCell.String = "°"
                oSheet.protect("")

' MsgBox "Nächster Tabellenname ist: " & oSheet.getName & "."
        Wend
        
        MsgBox "Tabellenschutz wurde aktiviert!" & CHR$(13) &_
        "In Zelle C1 wurde ""°"" eingetragen."

End Sub

'╔═════════════════════════════════════════════════════════════════════╗
        Sub TabellenSchutzAus ' ║
'╚═════════════════════════════════════════════════════════════════════╝

' ┌───────────────────────────────────────────────────────────────────┐
' │ Deklaration der Variablen │
' └───────────────────────────────────────────────────────────────────┘
        Dim oDoc as Object
        Dim oSheet as Object
        Dim eSheets As Object
        Dim oCell as Object
  
' ┌───────────────────────────────────────────────────────────────────┐
' │ Definition der Variablen │
' └───────────────────────────────────────────────────────────────────┘
        oDoc = ThisComponent
        eSheets = oDoc.getSheets.createEnumeration
  
' ┌───────────────────────────────────────────────────────────────────┐
' │ Durchlauf aller Tabellen │
' └───────────────────────────────────────────────────────────────────┘
        While eSheets.hasMoreElements
        oSheet = eSheets.nextElement()

                oCell = oSheet.getCellRangeByName("C1")
                oSheet.unprotect("")
                oCell.String = ""

' MsgBox "Nächster Tabellenname ist: " & oSheet.getName & "."
        Wend
        
        MsgBox "Tabellenschutz wurde deaktiviert!" & CHR$(13) &_
        "Zelle C1 wurde eingefärbt."
End Sub