Conrad vorrebbe imitare la capacità “maiuscoletto” di Word in Excel. L’unico modo in cui può pensare di farlo è sviluppare una macro che passi attraverso ogni personaggio in una cella. Se il carattere è minuscolo e 11 pt, la macro dovrebbe cambiare il carattere in maiuscolo 9 pt.

Se il carattere è maiuscolo (o non è una lettera), non dovrebbe essere modificato. Il problema è che Conrad non sa come modificare la formattazione dei singoli caratteri nella cella nel modo descritto.

Quando si utilizza una macro per influenzare solo alcuni caratteri all’interno della cella, è bene ricordare che ogni cella ha la propria raccolta di caratteri a cui è possibile accedere e modificare. Ogni elemento nella raccolta rappresenta, come ci si potrebbe aspettare, un singolo carattere nella cella.

Questo ci consente di mettere insieme una macro che esamina ciò che è attualmente nella cella e, se il carattere è attualmente minuscolo, converti solo quel carattere in maiuscolo e riduci la dimensione del carattere di quel carattere.

Sub SmallCaps()

Dim rCell As Range     Dim sWords As String     Dim sCharacter As String     Dim x As Long

'go through each cell in selection     For Each rCell In Selection         'Don't want to work on formulas         If Not rCell.HasFormula Then             sWords = rCell.Value 'Get the cell contents             For x = 1 To Len(sWords) 'Act on each letter                 sCharacter = Mid(sWords, x, 1)

If sCharacter >= "a" And sCharacter <= "z" Then                     'sCharacter is a lowercase letter                     With rCell.Characters(Start:=x, Length:=1)

'Decrease the font size by 2                         .Font.Size = .Font.Size - 2                         'Make character uppercase                         .Text = UCase(sCharacter)

End With                 End If             Next         End If     Next End Sub

Questa macro funziona su qualsiasi cella selezionata quando viene eseguita.

Verifica che la cella non contenga una formula (le formule vengono ignorate), quindi apporta eventuali modifiche ai caratteri minuscoli nella cella.

Esistono degli svantaggi nell’usare una macro come questa e dovresti esserne consapevole. Il più grande svantaggio è che in realtà modifica ciò che è nelle celle. Al termine, le celle conterranno tutto il testo in maiuscolo, anche se la formattazione potrebbe farlo sembrare maiuscolo. Ciò significa che potresti avere problemi quando in seguito esegui la macro una seconda volta e gli strumenti di correzione di Excel (come il correttore ortografico) non funzioneranno su parole tutte maiuscole. (Excel può, tuttavia, essere configurato per il controllo ortografico di tali parole.)

A causa degli svantaggi, potresti voler adottare un approccio completamente diverso: cambiare il carattere che usi per le celle in cui vuoi il maiuscolo. Se cerchi sul web “caratteri in maiuscolo” (senza virgolette) dovresti riuscire a trovare molti candidati, e un buon numero di questi sono disponibili gratuitamente. Ecco un sito che potrebbe avere qualcosa che ti piace:

https://www.fontsquirrel.com/fonts/list/tag/small%20caps

Basta scaricare il font che desideri (da questa o da qualsiasi altra fonte attendibile) e installarlo sul tuo sistema. Quando riavvii Excel, il carattere dovrebbe essere disponibile per la formattazione delle celle. Le celle formattate per utilizzare un tale carattere mostrerebbero il testo come maiuscoletto, anche se il contenuto effettivo delle celle è un misto di lettere maiuscole e minuscole.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (653) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.