KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come convertire una stringa di testo in maiuscolo iniziale con eccezioni in Excel?

AutoreXiaoyang Data di modifica

In Excel è possibile applicare la funzione MAIUSC.INIZ per convertire facilmente le stringhe di testo in Iniziale maiuscola, ma a volte è necessario escludere alcune parole specifiche durante la conversione delle stringhe di testo in Iniziale maiuscola, come illustrato nello screenshot seguente. In questo articolo illustrerò alcuni trucchi rapidi per risolvere questo compito in Excel.

converti la stringa di testo in maiuscole/minuscole con eccezioni

Convertire stringhe di testo in Iniziale maiuscola con eccezioni mediante formula

Convertire stringhe di testo in Iniziale maiuscola con eccezioni mediante codice VBA


Convertire stringhe di testo in Iniziale maiuscola con eccezioni mediante formula

La formula seguente potrebbe aiutarti a gestire rapidamente questa attività; procedi come indicato:

Inserisci questa formula:

=MAIUSC(SINISTRA(A2))&STRINGA.ESTRAI(ANNULLA.SPAZI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(« »&MAIUSC.INIZ(A2)&« »,« Di »,« di »),« Un »,« un »),«È »,« è »),« Usa »,« USA »)),2,LUNGHEZZA(A2))in una cella in cui desideri ottenere il risultato, quindi trascina il quadratino di riempimento per estendere la formula: le stringhe di testo saranno state convertite in Iniziale maiuscola con le eccezioni specificate, come mostrato nello screenshot:

converti la stringa di testo in maiuscole/minuscole con eccezioni utilizzando una formula

Nota: nella formula precedente, A2 è la cella che si desidera convertire; “Di ”, “Un”, “È”, “Usa” sono le parole che mantengono l’iniziale maiuscola dopo la conversione; “di ”, “un”, “è”, “USA” sono invece le parole da escludere dall’iniziale maiuscola. È possibile personalizzarle in base alle proprie esigenze o aggiungere altre parole utilizzando la funzione SOSTITUISCI.



Convertire stringhe di testo in Iniziale maiuscola con eccezioni mediante codice VBA

Se la formula precedente risulta difficile da comprendere o personalizzare, puoi utilizzare un codice VBA per portare a termine questa operazione. Segui questi passaggi uno alla volta.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic, Applications.

2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nella finestra del modulo.

Codice VBA: convertire stringhe di testo in Iniziale maiuscola con eccezioni:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

3. Premi quindi il tasto F5 per eseguire il codice; verrà visualizzata una finestra di dialogo che ti chiederà di selezionare le celle originali da convertire, come mostrato nello screenshot:

codice VBA per selezionare l'intervallo di dati

4. Fai quindi clic su OK, quindi seleziona le celle in cui desideri inserire i risultati nella finestra visualizzata, come mostrato nello screenshot:

codice VBA per la cella di destinazione

5. Fai nuovamente clic su OK, quindi, nella finestra di dialogo visualizzata, seleziona i termini da escludere, come mostrato nello screenshot:

codice VBA per selezionare il testo escluso

6. Fai infine clic su OK per chiudere le finestre di dialogo: tutte le stringhe di testo saranno state convertite in maiuscolo iniziale, escludendo le parole specificate, come mostrato nello screenshot:

risultato della conversione della stringa di testo in maiuscole/minuscole con eccezioni

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi