Jean verwendet gerne die Einstellung „Über Auswahl zentrieren“ auf der Registerkarte „Ausrichtung“ des Dialogfelds „Zellen formatieren“, um Informationen über nicht zusammengeführte Zellen zu zentrieren. Sie fragt sich jedoch, ob es eine Möglichkeit gibt, den Inhalt einer Zelle zu verwenden, um zu steuern, über wie viele Zellen die Zentrierung erfolgt. Wenn sie beispielsweise die Nummer 4 in Zelle A1 hat, würde die Zentrierung über 4 Zellen liegen (B1: E1), aber wenn sie sie in 5 ändert, würde die Zentrierung über 5 Zellen erfolgen (B1: F1).

Dies kann nur durch die Verwendung eines Makros erreicht werden. Da Sie den Wert in Zelle A1 möglicherweise ändern, muss das Makro ausgeführt werden, wenn Sie Änderungen an der Arbeitsmappe vornehmen und dann feststellen, ob diese Änderung in Zelle A1 vorgenommen wurde oder nicht. Wenn ja, kann die Anpassung an die Zellen in der Zeile vorgenommen werden.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim sWidth As String     Dim sStartCell As String     Dim iWidth As Integer     Dim r As Range     Dim sTemp As String

sWidth = "$A$1"

sStartCell = "$B$1"



If Target.Address = sWidth Then         iWidth = Range(sWidth).Value         If iWidth > 1 Then             sTemp = Right(sStartCell, 1)

sTemp = sTemp & ":" & sTemp             Range(sTemp).HorizontalAlignment = xlGeneral

Set r = Range(sStartCell)

Set r = r.Resize(1, iWidth)

r.HorizontalAlignment = xlCenterAcrossSelection         End If     End If End Sub

Beachten Sie, dass dieses Makro im Codeblatt für das Arbeitsblatt platziert wird, das Sie beeinflussen möchten. Immer wenn eine Änderung im Arbeitsblatt vorgenommen wird, wird das Makro automatisch ausgeführt. Damit es für Sie funktioniert, sollten Sie die Adressen ändern, die den Variablen sWidth und sStartCell zugewiesen sind. sWidth wird auf die Zelle festgelegt, die enthält, wie viele Spalten Sie zentrieren möchten. sStartCell wird auf die erste Zelle links vom Bereich gesetzt, in dem die Zentrierung erfolgen soll.

Das Makro erfasst alles, was sich in Ihrer sWidth-Zelle befindet, und platziert es in der iWidth-Variablen. Wenn dieser Wert größer als 1 ist, finden die Zentrierungsänderungen statt. (Es macht keinen Sinn, über eine Auswahl zu zentrieren, die weniger als 2 Spalten breit ist.) Bei der Ausrichtung aller Zellen wird die Zeile auf „Allgemein“ zurückgesetzt, und anschließend wird ein Bereich definiert, der genauso breit ist, wie Sie angegeben haben in der Zelle in sStartCell. Für diesen Bereich wird die Ausrichtung auf xlCenterAcrossSelection festgelegt, um die gewünschten Ergebnisse zu erzielen.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (4360) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.