2017-09-29 1 views
0

Ich habe ein Makro, das eine bestimmte Zeilenhöhe für eine Reihe von Zeilen setzt, wie unten dargestellt:Wie kann ich eine feste Zeilenhöhe für eine Reihe von Zeilen festlegen?

Sub Set_Row_Height() 
     ThisWorkbook.Sheets(1).Rows("7:3000").RowHeight = 50 
End Sub 

Dieses Makro funktioniert wie vorgesehen, bis ich eine ausgewählte Zelle im Bereich von Zeilen zu aktivieren. Als Ergebnis ändert sich die Zeilenhöhe auf eine kleinere Höhe von 15 oder 20 Pixeln. Unten ist ein Beispiel:

enter image description here

Gibt es eine Möglichkeit von Ändern der Zeilenhöhe zu verhindern, wenn eine Zelle aktiviert wird?

+1

Vielleicht diesen Code in ein 'Worksheet_Change()' Ereignis? – BruceWayne

+0

Ihr Vorschlag funktioniert, allerdings nur insofern, als sich die Zeilenhöhe nicht ändert, wenn eine ausgewählte Zelle aktiviert wird. Die Zeilenhöhe kann noch manuell eingestellt werden, aber das ist in Ordnung. Danke @BruceWayne – Nick

Antwort

4

Der Schutz Ihres Arbeitsblatts und der Einstellungen AllowFormattingRows:=False verhindert, dass ein Benutzer die Größe der Zeile ändert.

Worksheets("Sheet1").Protect Password:="", AllowFormattingRows:=False, DrawingObjects:=False, Contents:=True, Scenarios:= _ 
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _ 
    AllowInsertingColumns:=True, AllowInsertingRows:=True, _ 
    AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _ 
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _ 
    AllowUsingPivotTables:=True 
+0

Danke @Thomas Inzina. Das hat wirklich geholfen. – Nick

+0

Sie müssen also nur einmal ausführen, und es bleibt für das "Leben des Dokuments"? Das ist ordentlich! – BruceWayne

Verwandte Themen