Eine Familie von Microsoft-Tabellenkalkulationsprogrammen mit Tools zum Analysieren, Darstellen und Vermitteln von Daten.
Vielen Dank für die Antwort!
Aber sie übersteigt leider meine bescheidenen Fähigkeiten... :-(
Schöne Ostertage...
J.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
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.
Eine Familie von Microsoft-Tabellenkalkulationsprogrammen mit Tools zum Analysieren, Darstellen und Vermitteln von Daten.
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.
Vielen Dank für die Antwort!
Aber sie übersteigt leider meine bescheidenen Fähigkeiten... :-(
Schöne Ostertage...
J.
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
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.
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