Ugrás a tartalomra

 Hogyan lehet konvertálni a szöveges karakterláncot nagybetűvé kivételekkel az Excelben?

Szerző: Xiaoyang Utolsó módosítás: 2024-08-12

Az Excelben a Proper függvényt alkalmazhatja a szöveges karakterláncok egyszerű nagybetűvé konvertálásához, de néha ki kell zárnia néhány konkrét szót, amikor a szöveges karakterláncokat a nagybetűvé konvertálja, ahogy az alábbi képen látható. Ebben a cikkben néhány gyors trükkről fogok beszélni, amely megoldja ezt a feladatot az Excel programban.

konvertálja a szöveges karakterláncot megfelelő kis- és nagybetűvé, kivételekkel

A képlet segítségével konvertálja a szöveges karakterláncokat kis- és nagybetűkre, kivételekkel

Konvertálja a szöveges karakterláncokat kis- és nagybetűkké, kivételekkel a VBA kód használatával


A képlet segítségével konvertálja a szöveges karakterláncokat kis- és nagybetűkre, kivételekkel

A következő képlet segíthet a feladat gyors kezelésében, kérjük, tegye a következőket:

Írja be ezt a képletet:

= FELSŐ (BAL (A2)) ÉS KÖZÉP "," is ")," USA "," USA ")), 2, LEN (A2)) egy cellába, ahol meg akarja szerezni az eredményt, majd húzza a kitöltő fogantyút a képlet kitöltéséhez, és a szöveges karakterláncokat megfelelő esetben alakították át, de konkrét kivételeket, lásd a képernyőképet:

konvertálja a szöveges karakterláncot megfelelő kis- és nagybetűvé kivételekkel a képlet használatával

Megjegyzések: A fenti képletben A2 a konvertálni kívánt cella, „Of”, „A”, „Is”, „USA” a konvertálás utáni szokásos helyes szavak, „Of”, „a”, „is”, „USA” azok a szavak, amelyeket ki akar zárni a megfelelő esetből. Megváltoztathatja őket igénye szerint, vagy más szavakat is felvehet a SUBSTITUTE funkcióval.



Konvertálja a szöveges karakterláncokat kis- és nagybetűkké, kivételekkel a VBA kód használatával

Ha a fenti képletet kissé nehéz megérteni és az igényeinek megfelelően módosítani, itt VBA kódot is alkalmazhat a feladat befejezéséhez. Kérjük, kövesse az alábbi lépéseket egyenként.

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.

VBA-kód: konvertálja a szöveges karakterláncokat a kis- és nagybetűkre, kivéve:

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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és megjelenik egy felszólító mező, amely emlékezteti Önt az átalakítandó eredeti cellák kiválasztására, lásd a képernyőképet:

vba kódot az adattartomány kiválasztásához

4. Kattintson a gombra OK, jelölje ki azokat a cellákat, ahol az eredményeket ki szeretné adni az előugró mezőben, lásd a képernyőképet:

vba kód a helymeghatározó cellába

5. Kattintson a gombra OK, és a felugró párbeszédpanelen válassza ki a kizárni kívánt szövegeket, lásd a képernyőképet:

vba kódot a kizárt szöveg kiválasztásához

6. Kattintson a gombra OK a párbeszédablakokból való kilépéshez, és az összes szöveges karakterlánc át lett alakítva a megfelelő nagybetűvé, de kizárta a megadott szavakat, lásd a képernyőképet:

a szöveges karakterlánc megfelelő kis- és nagybetűvé alakításának eredménye, kivételekkel

A legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI segéd: Forradalmasítsa az adatelemzést a következők alapján: Intelligens végrehajtás   |  Kód létrehozása  |  Hozzon létre egyéni képleteket  |  Adatok elemzése és diagramok létrehozása  |  Indítsunk Kutools Funkciók...
Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több
Felhasználás Kutools a kívánt nyelven – támogatja az angol, spanyol, német, francia, kínai és több mint 40 másik nyelvet!

Töltsd fel Excel-készségeidet ezzel Kutools for Excel, és tapasztalja meg a még soha nem látott hatékonyságot. Kutools for Excel Több mint 300 speciális funkciót kínál a termelékenység fokozása és az időmegtakarítás érdekében.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...


Office Tab Lapos felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!