Aumento dell’altezza delle righe per la stampa (Microsoft Excel)
Jeaux lavora con molti fogli di lavoro lunghi che contengono dati che potrebbe dover stampare. Una volta stampato, scrive quindi nello spazio accanto alla colonna dei dati. Tutte le righe vengono ridimensionate automaticamente per adattarsi ai contenuti, quindi variano in altezza. Jeaux sta cercando una macro che prenda le righe selezionate e le aumenti in modo incrementale, diciamo di una data percentuale. (Dato che sono altezze diverse, non può semplicemente impostarle tutte alla stessa altezza.)
In questo modo, può rendere le righe abbastanza grandi per la scrittura a mano, ma essere comunque in grado di vedere tutti i dati. Sarebbe anche bello avere un modo per riportare l’altezza delle righe a quello che erano prima della stampa.
Questa operazione è molto semplice da eseguire con una macro. Tutto quello che devi fare è scorrere le righe selezionate e regolare la proprietà RowHeight, come si fa in questa macro:
Sub ExpandSelectedRows() Dim rRow As Range Dim dEnlarge As Double dEnlarge = 1.25 For Each rRow In Selection.Rows rRow.RowHeight = rRow.RowHeight * dEnlarge Next End Sub
In questo caso, la variabile dEnlarge contiene 1,25, il che significa che la formula nel ciclo For … Next aumenterà l’altezza della riga del 25 percento. Il valore di questa variabile può essere cambiato per riflettere la percentuale che vuoi usare, oppure puoi modificare la macro per chiedere una percentuale all’utente:
Sub ExpandSelectedRows() Dim rRow As Range Dim dEnlarge As Double Dim sTemp As String sTemp = InputBox("Increase by what percent?") dEnlarge = Val(sTemp) If dEnlarge > 1 Then dEnlarge = dEnlarge / 100 If dEnlarge < 1 Then dEnlarge = dEnlarge + 1 If dEnlarge > 0 Then For Each rRow In Selection.Rows rRow.RowHeight = rRow.RowHeight * dEnlarge Next End If End Sub
Se in seguito vuoi riportare le righe alla loro altezza originale, la seguente macro a riga singola farà il lavoro:
Sub AutfitRows() Cells.EntireRow.AutoFit End Sub
Questa macro funziona perché le righe del foglio di lavoro originariamente erano “ridimensionate automaticamente per adattarsi ai contenuti”. Anche se una macro avrebbe potuto essere scritta per invertire i passaggi di ingrandimento (dividendo per dEnlarge invece di moltiplicare), funzionerebbe in modo affidabile solo se la macro ExpandSelectedRows non fosse stata eseguita più volte.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (21) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.