Note: The other languages of the website are Google-translated. Back to English

 Cum se convertește șirul de text în litere mari și mici cu excepții în Excel?

În Excel, puteți aplica funcția corectă pentru a converti cu ușurință șirurile de text în majuscule, dar, uneori, trebuie să excludeți anumite cuvinte specifice atunci când convertiți șirurile de text în majuscule, după cum se arată în următoarea captură de ecran. În acest articol, voi vorbi despre câteva trucuri rapide pentru rezolvarea acestei sarcini în Excel.

Convertiți șirurile de text în majuscule și minuscule cu excepții utilizând formula

Convertiți șirurile de text în majuscule și minuscule, cu excepții, utilizând codul VBA


Convertiți șirurile de text în majuscule și minuscule cu excepții utilizând formula

Poate fi următoarea formulă care vă poate ajuta să faceți acest lucru rapid, vă rugăm să procedați astfel:

Introduceți această formulă:

= SUPERIOR (STÂNGA (A2)) și MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," este ")," SUA "," SUA ")), 2, LEN (A2)) într-o celulă în care doriți să obțineți rezultatul, apoi trageți mânerul de umplere pentru a umple această formulă, iar șirurile de text au fost convertite între majuscule și minuscule, dar excepții specifice, a se vedea captura de ecran:

notițe: În formula de mai sus, A2 este celula pe care doriți să o convertiți, „De”, „A”, „Este”, „SUA” sunt cuvintele normale de caz proprii după convertire, „De”, „a”, „este”, „SUA” sunt cuvintele pe care doriți să le excludeți din cazul potrivit. Puteți să le schimbați după nevoile dvs. sau să adăugați alte cuvinte cu funcția SUBSTITUTE.


Convertiți șirurile de text în majuscule și minuscule, cu excepții, utilizând codul VBA

Dacă formula de mai sus este oarecum dificil de înțeles și de modificat în funcție de nevoile dvs., aici puteți aplica și un cod VBA pentru a finaliza această sarcină. Vă rugăm să parcurgeți pașii următori unul câte unul.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: convertiți șirurile de text în cazurile corespunzătoare cu excepții:

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. Apoi apăsați F5 pentru a rula acest cod și apare o casetă de prompt pentru a vă reaminti să selectați celulele originale pe care doriți să le convertiți, vedeți captura de ecran:

4. Apoi faceți clic pe OK, selectați celulele în care doriți să afișați rezultatele în caseta pop-out, vedeți captura de ecran:

5. Mergeți pe clic OKși, în caseta de dialog pop-up, selectați textele pe care doriți să le excludeți, vedeți captura de ecran:

6. Apoi faceți clic pe OK pentru a ieși din ferestre de dialog și toate șirurile de text au fost convertite la majuscule, dar excludeți cuvintele specificate, vedeți captura de ecran:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (1)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru ar fi uimitor dacă numai Macro ar exclude o parte a stingherului în CAPS, nu întreaga celulă din lista de excepții.
Nu există comentarii postate aici încă

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL