Excel: Automatizza Maiuscolo e Minuscolo con VBA
Come Trasformare Testo in Maiuscolo, Minuscolo e Proper Case in Excel con VBA
Impara a creare macro VBA in Excel per trasformare il testo selezionato in maiuscolo, minuscolo e Proper Case. Segui la nostra guida passo passo per automatizzare facilmente queste operazioni.
Elenco Argomenti:
- Introduzione alla trasformazione del testo in Excel
- Creazione di macro VBA per automatizzare la trasformazione del testo
- Esecuzione delle macro per trasformare il testo in maiuscolo, minuscolo e Proper Case
- Conclusioni e suggerimenti per l’uso efficiente delle macro
Livello di difficoltà:
Facile
Tempo di lettura:
5 minuti
Hai mai desiderato automatizzare la trasformazione del testo in Excel? Con le macro VBA, puoi facilmente trasformare il testo selezionato in maiuscolo, minuscolo o Proper Case. In questo articolo, ti guiderò passo passo nella creazione di tre macro VBA che renderanno questa operazione semplice e veloce. La frase chiave principale è “Macro VBA trasformare testo”.
Come Creare le Macro VBA per Trasformare il Testo
1 – Trasformare il Testo in Maiuscolo
Per trasformare il testo delle celle selezionate in maiuscolo, segui questi passaggi:
- Apri l’editor VBA:
- Premi
Alt + F11
per aprire l’editor di Visual Basic.
- Premi
- Inserisci un nuovo modulo:
- Nella barra degli strumenti, vai su
Inserisci
>Modulo
.
- Nella barra degli strumenti, vai su
- Copia e incolla il codice:
Sub TrasformaInMaiuscolo()
Dim cell As Range
For Each cell In Selection
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
cell.Value = UCase(cell.Value)
End If
Next cell
End Sub
Function IsText(cellValue As Variant) As Boolean
IsText = VarType(cellValue) = vbString
End Function
Salva e chiudi l’editor VBA:
- Salva il progetto e chiudi l’editor di Visual Basic.
Assegna la macro a un pulsante:
- Inserisci un pulsante nella scheda
Sviluppo
e assegna la macroTrasformaInMaiuscolo
. - Fai la stecca cosa per le altre due macro (Tutto Maiuscolo e Inziale Maiuscola) qui sotto trovi il codice:
2 – Trasformare il Testo in Minuscolo
Sub TrasformaInMinuscolo()
Dim cell As Range
For Each cell In Selection
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
cell.Value = LCase(cell.Value)
End If
Next cell
End Sub
Function IsText(cellValue As Variant) As Boolean
IsText = VarType(cellValue) = vbString
End Function
3 – Trasformare il Testo con la prima lettera Maiuscola (Proper Case)
Sub TrasformaInProperCase()
Dim cell As Range
For Each cell In Selection
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
cell.Value = Application.WorksheetFunction.Proper(cell.Value)
End If
Next cell
End Sub
Function IsText(cellValue As Variant) As Boolean
IsText = VarType(cellValue) = vbString
End Function
ATTENZIONE!
Per rendere le macro disponibili ogni volta che apri Excel, devi salvarle in un file di Excel specifico chiamato Personal Macro Workbook (Personal.xlsb). Questo file viene caricato automaticamente ogni volta che apri Excel, rendendo le tue macro accessibili globalmente.
Passaggi per salvare le macro nel Personal Macro Workbook
- Apri l’editor VBA:
- Premi
Alt + F11
per aprire l’editor di Visual Basic.
- Premi
- Trova il Personal Macro Workbook:
- Se non hai già un Personal Macro Workbook, Excel ti chiederà di crearne uno la prima volta che registri una macro e scegli di salvarla in “Personal Macro Workbook”.
- Puoi forzare la creazione registrando una macro:
- Vai alla scheda
Sviluppo
(Developer) nella barra multifunzione. - Clicca su
Registra macro
. - Nel campo “Memorizza macro in”, seleziona
Cartella macro personale
. - Clicca su
OK
, poiInterrompi registrazione
.
- Vai alla scheda
- Accedi al Personal Macro Workbook:
- Nell’editor VBA, dovrebbe esserci un progetto denominato “VBAProject (PERSONAL.XLSB)”. Se non lo vedi, chiudi e riapri Excel e poi riapri l’editor VBA.
- Inserisci un nuovo modulo nel Personal Macro Workbook:
- Nella barra degli strumenti dell’editor VBA, vai su
Inserisci
>Modulo
.
- Nella barra degli strumenti dell’editor VBA, vai su
- Copia e incolla il codice delle macro nel modulo:
- Incolla il codice delle macro desiderate nel modulo.
Se vuoi usare tutte e tre le macro (maiuscolo, minuscolo, proper) puoi creare un unico modulo e incollare direttamente questo codice che comprende tutto quanto:
VEDI INMMAGINE SOTTO
Sub TrasformaInMaiuscolo()
Dim cell As Range
' Cicla attraverso ogni cella dell'intervallo selezionato
For Each cell In Selection
' Verifica che la cella non sia vuota e che contenga testo
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
' Trasforma il testo in maiuscolo
cell.Value = UCase(cell.Value)
End If
Next cell
End Sub
Sub TrasformaInMinuscolo()
Dim cell As Range
' Cicla attraverso ogni cella dell'intervallo selezionato
For Each cell In Selection
' Verifica che la cella non sia vuota e che contenga testo
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
' Trasforma il testo in minuscolo
cell.Value = LCase(cell.Value)
End If
Next cell
End Sub
Sub TrasformaInProperCase()
Dim cell As Range
' Cicla attraverso ogni cella dell'intervallo selezionato
For Each cell In Selection
' Verifica che la cella non sia vuota e che contenga testo
If Not IsEmpty(cell.Value) And IsText(cell.Value) Then
' Trasforma il testo in Proper Case
cell.Value = Application.WorksheetFunction.Proper(cell.Value)
End If
Next cell
End Sub
Function IsText(cellValue As Variant) As Boolean
' Verifica se il valore della cella è testo
IsText = VarType(cellValue) = vbString
End Function
nota che questa parte di codice
Function IsText(cellValue As Variant) As Boolean
IsText = VarType(cellValue) = vbString
End Function
comparirà SOLO UNA VOLTA!
Facebook, Instagram, YouTube, Tik Tok, LinkedIn !
2 risposte
Fantastico Francesca, non che prima non funzionasse ma ora è perfetto. L’unica cosa che ho fatto è aver aggiunto al tuo ultimo codice le due righe finali. “Selezionare la cella sottostante” e il MsgBox, li trovo tutti e due comodi.
Scusa se sono intervenuto un paio di volte per questa problematica, magari è capitato solo a me :-(. Non ho pensato di salvare le macro nel Workbook per poterle rendere disponibili su ogni cartella.
Adoro Excel ed è grazie a persone come te che ci si appassiona.
Grazie per i tuoi preziosi consigli. Permettimi un abbraccio virtuale per l’avermi insegnato qualcosa in più.
Giuseppe
Caro Giuseppe,
grazie mille per aver contributo a rendere migliore questa macro! Intervieni quando vuoi che da imparare ce n’è sempre!