Freigeben über

Excel - Zellengröße fixieren

Anonym
2016-03-21T16:47:16+00:00

Hallo!

Ich habe eine Tabelle in Excel und möchte die Zeilenhöhe und Spaltenbreite fixieren, aber den Inhalt weiter bearbeiten können.

Ich möchte also nicht die komplette Tabelle vor einer Bearbeitung/Veränderung sperren, sondern einzig allein die Größe der Zelle.

Ist das möglich?

Viele Grüße

J.

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

4 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2016-03-25T15:28:29+00:00

    Vielen Dank für die Antwort!

    Aber sie übersteigt leider meine bescheidenen Fähigkeiten... :-(

    Schöne Ostertage...

    J.

    10+ Personen fanden diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  2. Anonym
    2016-03-23T09:33:05+00:00

    Hallo,

    VBA ist die Programmiersprache der Office-Anwendungen. Mit Alt+F11 kommst du in den VBA-Editor.

    Dort kannst du ein Standardmodul einfügen oder auch Worksheet- und Workbook-Ereignisse erstellen.

    Je nachdem, wann die korrekten Zellenformate eingestellt werden sollen (z.B. vor dem Drucken) kannst du den Code unter dem entsprechenden Ereignis hinterlegen und dann automatisch bei Eintreten dieses Ereignisses ausführen lassen.

    Hier nun mal für eine Tabelle mit 5 Zeilen und 5 Spalten eine Beispiel wie du die Breiten und Höhen in eine Array schreiben kannst und dann diese Arrays durchlaufen kannst, um diese gewünschten Maße wieder einzustellen:

    Sub Test()

    Dim varCols As Variant, varRows As Variant

    Dim i As Long

    'Array mit den Spaltenbreiten

    varCols = Array(10.71, 8.5, 12, 25, 10.71)

    'Array mit den Zeilenhöhen

    varRows = Array(20, 15, 15, 20, 25)

    For i = LBound(varCols) To UBound(varCols)

        Columns(i + 1).ColumnWidth = varCols(i)

    Next

    For i = LBound(varRows) To UBound(varRows)

        Rows(i + 1).RowHeight = varRows(i)

    Next

    End Sub

    Edit: Dieser Code gehört in ein Standardmodul. Wenn du ihn über ein Ereignis ausführen möchtest, musst du dieses Ereignis für das entsprechende Blatt oder die Mappe erstellen und dann nur den Code zwischen Sub Test und End Sub einfügen.

    Claus

    10 Personen fanden diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  3. Anonym
    2016-03-23T09:11:35+00:00

    Hallo Claus.

    Ich bin mit den Begriffen Array und VBA etwas überfordert; kannst Du mir noch ein paar Tipps hierzu geben?

    Vielen Dank im Voraus...

    J.

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  4. Anonym
    2016-03-22T07:46:25+00:00

    Hallo,

    erstens ist der Excel-Schutz nicht 100%-ig. Zweitens müsstest du die Zellen sperren und damit wäre eine Bearbeitung nicht mehr möglich.

    Schreibe deine Zeilenhöhen und Spaltenbreite jeweils in ein Array und lasse vor dem Schließen der Mappe die Zellen mit VBA wieder auf die gewünschte Höhe und Breite einstellen.

    Claus

    0 Kommentare Keine Kommentare