Brian ha chiesto se esiste un modo in Excel per ingrandire il contenuto della cella corrente. Sta lavorando su un foglio di lavoro che deve avere un’impostazione di zoom bassa (30% circa) per vedere l’intero foglio. Quando vengono eseguiti diversi scenari, le celle cambiano colore a seconda del risultato. Brian può facilmente vedere quali celle ha bisogno di indagare, ma non può leggerle a causa dell’impostazione dello zoom. Normalmente cambia lo zoom, legge la risposta e riduce lo zoom per eseguire un altro scenario. Sarebbe molto più semplice se solo la cella corrente (quella selezionata) fosse ingrandita a un livello leggibile.

Non esiste un metodo integrato in Excel per eseguire questo metodo selettivo di zoom, ma ci sono un paio di soluzioni alternative che puoi usare. Una di queste soluzioni consiste nell’utilizzare una macro che visualizza il valore nella cella attiva in una finestra di messaggio. Una tale macro è facile da aggiungere al modulo del foglio di lavoro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox ActiveCell.Address & ": " & ActiveCell.Value End Sub

Ogni volta che selezioni una cella diversa nel foglio di lavoro, la macro visualizza una finestra di messaggio che mostra il contenuto di quella cella. Questo risolve il problema, ma può essere stancante chiudere continuamente le finestre di messaggio ogni volta che si cambia la cella selezionata.

Puoi anche creare una macro che cambia semplicemente la dimensione del carattere di qualunque cella sia attualmente selezionata. La seguente semplice macro, aggiunta al modulo del foglio di lavoro, esamina la cella attualmente selezionata e ne aumenta la dimensione del carattere del 500%.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

FontSize = ActiveCell.Font.Size     LargeSize = FontSize * 5     Cells.Font.Size = FontSize     ActiveCell.Font.Size = LargeSize End Sub

L’utilità di una tale macro dipenderà, ovviamente, da come sono formattate l’altezza e la larghezza della cella selezionata. Se sono altezze e larghezze statiche, è possibile che aumentando la dimensione del carattere renda illeggibile il contenuto della cella. Se l’altezza e la larghezza sono dinamiche, il contenuto dovrebbe comunque essere abbastanza leggibile.

Ancora un altro approccio consiste nel creare la propria immagine ingrandita di ogni cella quando viene selezionata:

Private Sub ZoomCell(ZoomIn As Single)

Dim s As Range     Set s = Selection

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

Per poter utilizzare la macro, è necessario chiamarla ogni volta che la selezione nel foglio di lavoro cambia. Per fare ciò, aggiungi una piccola macro al modulo del foglio di lavoro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ZoomCell 6 End Sub

In questo caso, ogni volta che viene modificata la selezione della cella, la macro ZoomCell viene eseguita per creare un’immagine che è sei volte la dimensione dell’originale. Se diventa fastidioso che l’immagine cambi automaticamente ogni volta che selezioni una cella diversa, puoi eliminare la macro di attivazione nel modulo del foglio di lavoro e modificare la macro ZoomCell in modo che venga eseguita ogni volta che la avvii, magari con un tasto di scelta rapida che hai impostato.

Sub ZoomCell()

Dim s As Range     Dim ZoomIn As Single     Set s = Selection     ZoomIn = 6

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

Un’ultima opzione è uscire completamente da Excel e fare affidamento su Windows.

Uno degli strumenti di accessibilità forniti con il sistema operativo si chiama Magnifier. Il programma ingrandisce l’area vicino al puntatore del mouse, sovrapponendo un’altra area dello schermo all’immagine ingrandita. È possibile utilizzare questo strumento scegliendo Start | Tutti i programmi | Accessori | Accessibilità | Lente d’ingrandimento. Vedrai apparire l’area ingrandita nella parte superiore dello schermo e una finestra di dialogo che ti consente di impostare diverse opzioni per il programma. Quando non è più necessario l’ingrandimento, è possibile disattivarlo facendo clic su Esci nella finestra di dialogo.

_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 (3114) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: