Quando modifichi una cella in Excel, hai accesso a molti dei pulsanti della barra degli strumenti di formattazione che possono rendere la formattazione della cella un po ‘più semplice. Ad esempio, puoi utilizzare gli strumenti Grassetto o Corsivo per modificare questi due attributi per qualsiasi testo selezionato in una cella. Ad un certo punto potresti voler creare altri pulsanti della barra degli strumenti per gestire altre formattazioni, come l’applicazione di apici o pedici.

Excel, tuttavia, non ti consente di creare i tuoi strumenti di formattazione e di averli accessibili durante la modifica di una cella. Questo perché Excel “disattiva” tutte le macro definite dall’utente durante la modifica.

Ti resta la formattazione del contenuto della cella tramite Formato | Celle o premendo Ctrl + 1 per visualizzare direttamente la finestra di dialogo Formato celle.

Tuttavia, esiste un modo subdolo che puoi utilizzare per creare i tuoi strumenti di formattazione. Ciò implica l’uso di moduli utente e VBA per creare la propria “finestra di dialogo” di formattazione. (Lo so, questa non è realmente una finestra di dialogo, ma un modulo.) Creare il proprio modulo utente non è particolarmente difficile, ma non è per i deboli di cuore quando si tratta di macro. Segui questi passaggi per creare il tuo modulo:

  1. Premi Ctrl + F11 per visualizzare l’editor VBA.

  2. Nell’editor VBA, scegli Modulo utente dal menu Inserisci. Viene visualizzato un nuovo modulo utente vuoto, insieme alla casella degli strumenti del modulo.

  3. Utilizzando i controlli nella casella degli strumenti del modulo, aggiungere tre controlli CommandButton nella parte superiore del modulo.

  4. Modificare le proprietà per il controllo CommandButton sinistro in modo che il suo nome sia btnSuper e la sua didascalia sia apice.

  5. Modificare le proprietà per il controllo CommandButton centrale in modo che il suo nome sia btnSub e la sua didascalia sia pedice.

  6. Modificare le proprietà per il controllo CommandButton destro in modo che il suo nome sia btnNormal e la sua didascalia sia normale.

  7. Appena sotto i tre pulsanti, aggiungi un controllo TextBox. Non è necessario modificare alcuna proprietà per questo controllo.

  8. Appena sotto il controllo TextBox, aggiungi un quarto controllo CommandButton.

  9. Modificare le proprietà per questo ultimo controllo CommandButton in modo che il suo nome sia btnExit e la sua didascalia sia Exit.

Questo è tutto; hai creato il tuo modulo utente e sei pronto per associare il codice macro ai controlli che hai appena posizionato. Con il modulo utente selezionato, premere F7 per visualizzare la finestra del codice per il modulo. La finestra può contenere una o due righe di codice generato automaticamente. Sostituiscilo con il codice seguente:

Private Sub UserForm_Activate()

TextBox1.Text = ActiveCell.Formula End Sub
Private Sub btnSuper_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = True     End If End Sub
Private Sub btnSub_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Subscript = True     End If End Sub Private Sub btnExit_Click()

Unload UserForm1 End Sub
Private Sub btnNormal_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = False         ActiveCell.Characters(intStart, intLength).Font.Subscript = False     End If End Sub

Chiudere la finestra del codice per il modulo utente e chiudere la finestra del modulo stesso. È ora necessario creare una macro molto breve che visualizzerà il modulo utente effettivo. Questa macro viene creata come qualsiasi altra macro di Excel e dovrebbe essere simile a questa:

Sub DoForm()

UserForm1.Show End Sub

È ora possibile chiudere la finestra dell’editor VBA. Per utilizzare la macro, seleziona la cella che desideri modificare, quindi esegui la macro DoForm. Excel visualizza il modulo utente, che contiene il testo nella cella selezionata.

È quindi possibile selezionare il testo all’interno del modulo utente e utilizzare i pulsanti (Apice, Pedice e Normale) per modificare la formattazione del contenuto effettivo della cella. La macro influisce sul contenuto della cella, non sul contenuto del modulo utente. Pertanto, è utile poter vedere contemporaneamente sia la cella selezionata che il modulo utente sullo schermo.

_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 (1945) si applica a Microsoft Excel 97, 2000, 2002 e 2003.