A Jean piace usare l’impostazione “Centra la selezione” nella scheda Allineamento della finestra di dialogo Formato celle per centrare le informazioni su celle non unite. Si chiede, tuttavia, se esiste un modo in cui può utilizzare il contenuto di una cella per controllare in quante celle si verifica la centratura. Ad esempio, se ha il numero 4 nella cella A1, il centraggio sarà su 4 celle (B1: E1), ma se lo cambia in 5, il centraggio sarà su 5 celle (B1: F1).

L’unico modo per farlo è attraverso l’uso di una macro. Poiché potresti modificare il valore nella cella A1, la macro deve essere eseguita ogni volta che apporti una modifica alla cartella di lavoro e quindi determina se tale modifica è stata apportata nella cella A1 o meno. In tal caso, può apportare la regolazione alle celle nella riga.

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

Notare che questa macro viene inserita nel foglio di codici per il foglio di lavoro che si desidera influenzare. Ogni volta che viene apportata una modifica nel foglio di lavoro, la macro viene eseguita automaticamente. Affinché funzioni per te, dovresti cambiare gli indirizzi assegnati alle variabili sWidth e sStartCell. sWidth è impostato sulla cella che contiene il numero di colonne su cui vuoi centrare. sStartCell è impostato sulla prima cella a sinistra dell’intervallo in cui deve avvenire la centratura.

La macro acquisisce tutto ciò che si trova nella cella sWidth e lo inserisce nella variabile iWidth. Se questo valore è maggiore di 1, si verificano i cambiamenti di centratura. (Non ha senso centrare una selezione che è larga meno di 2 colonne.) L’allineamento di tutte le celle è che la riga viene reimpostata su generale, e quindi viene definito un intervallo che è largo quanto specificato, a partire nella cella in sStartCell. Per questo intervallo, l’allineamento è impostato su xlCenterAcrossSelection per fornire i risultati desiderati.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (4360) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.