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: 2017-08-23

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.

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:

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:

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:

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:

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 legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI Aide: 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  |  A Kutools funkciók meghívása...
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

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

Leírás


Az Office lap füles 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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations