Una delle (molte) cose frustranti di Excel è che utilizza diverse unità di misura per specificare l’altezza delle righe e la larghezza delle colonne.

L’altezza della riga è piuttosto semplice: viene misurata in punti. La larghezza delle colonne, tuttavia, viene misurata in larghezza dei caratteri. Se lo stile Standard è impostato su Courier 10, una larghezza di colonna di 12 significa che puoi inserire esattamente dodici caratteri in una determinata colonna. Per i caratteri proporzionali, il carattere 0 viene utilizzato per contare i caratteri. (Sì, è assurdo.)

Ciò porta a problemi se si desidera che l’altezza e la larghezza di una particolare cella corrispondano, creando così un quadrato. Fortunatamente, con una piccola procedura guidata di macro puoi aggirare questa stranezza di Excel e ottenere i risultati desiderati. Considera la macro MakeSquare:

Sub MakeSquare()

Dim WPChar As Double     Dim DInch As Double     Dim Temp As String          Temp = InputBox("Height and width in inches?")

DInch = Val(Temp)

If DInch > 0 And DInch < 2.5 Then         For Each c In ActiveWindow.RangeSelection.Columns             WPChar = c.Width / c.ColumnWidth             c.ColumnWidth = ((DInch * 72) / WPChar)

Next c         For Each r In ActiveWindow.RangeSelection.Rows             r.RowHeight = (DInch * 72)

Next r     End If End Sub

Questa macro richiede la dimensione del quadrato che si desidera creare, quindi calcola esattamente la larghezza e l’altezza da impostare per ciascuna cella.

È possibile eseguire la macro con una singola cella selezionata oppure creare un insieme di selezione più ampio.

La “magia matematica” viene eseguita nel calcolo della variabile WPChar. Viene impostato su un valore derivato dividendo la larghezza della colonna in punti (restituita dalla proprietà Width) per la larghezza della colonna in caratteri (restituita dalla proprietà ColumnWidth). Questo valore, che è il numero di punti in un carattere con le impostazioni correnti, viene quindi utilizzato per calcolare quanti caratteri devono essere utilizzati per impostare la larghezza nella riga di programma successiva.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

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

Questo suggerimento (1943) si applica a Microsoft Excel 97, 2000, 2002 e 2003.