Per la versione di questo articolo relativa a Microsoft Excel 2000, vedere213649.

Per la versione di questo articolo relativa a Microsoft Excel 98 e versione precedente, vedere141094.

Sommario

Sebbene in Microsoft Excel siano disponibili specifiche funzioni per modificare il formato maiuscole/minuscole del testo, talvolta può essere necessario eseguire tale operazione a livello di programmazione. In questo articolo sono contenute tre macro di esempio di Microsoft Visual Basic Applications Edition (routine Sub) che consentono rispettivamente di convertire in minuscolo o in maiuscolo tutte le lettere di una stringa di testo oppure di convertire in maiuscolo solo l'iniziale di tutte le parole della stringa. Queste azioni sono simili alle funzioni di Excel =MAIUSC(), =MINUSC() e =MAIUSC.INIZ().

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presume che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare routine ed eseguire il debug. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

Macro per convertire in maiuscolo tutto il testo di un intervallo

Sub Uppercase()   ' Loop to cycle through each cell in the specified range.   For Each x In Range("A1:A5")      ' Change the text in the range to uppercase letters.      x.Value = UCase(x.value)   NextEnd Sub

Macro per convertire in minuscolo tutto il testo di un intervallo

Sub Lowercase()   ' Loop to cycle through each cell in the specified range.   For Each x In Range("B1:B5")      x.Value = LCase(x.Value)   NextEnd Sub

Macro per convertire in maiuscolo l'iniziale di ogni parola di testo di un intervallo

Sub Proper_Case()   ' Loop to cycle through each cell in the specified range.   For Each x In Range("C1:C5")      ' There is not a Proper function in Visual Basic for Applications.      ' So, you must use the worksheet function in the following form:      x.Value = Application.Proper(x.Value)   NextEnd Sub

Verifica delle macro di esempio

Per verificare le macro di esempio, attenersi alla seguente procedura:

  1. Nella stessa cartella di lavoro che contiene le macro, immettere i seguenti dati di esempio in un nuovo foglio di lavoro: A1: lucA B1: lucA C1: lucA A2: maRia B2: maRia C2: maRia A3: mario ROSSI B3: mario ROSSI C3: mario ROSSI A4: elena B4: elena C4: elena A5: LORETTA B5: LORETTA C5: LORETTA NOTA: questi dati di esempio contengono testo formattato in vari modi, per consentire di verificare il corretto funzionamento delle macro.

  2. Eseguire ciascuna delle macro.

Il testo contenuto nell'intervallo specificato nella macro (nella riga "For each x in ..."), verrà formattato tutto in lettere maiuscole, tutto in lettere minuscole o con solo l'iniziale maiuscola di tutte le parole.

Riferimenti

Per ulteriori informazioni sull'utilizzo delle funzioni del foglio di lavoro per modificare il formato maiuscole/minuscole del testo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

263580 XL: Modifica di maiuscole e minuscole Per ulteriori informazioni sulla visualizzazione della Guida di Visual Basic Applications Edition, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

305326 Elenco delle risorse di programmazione per Visual Basic Applications Edition

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.