Hogyan lehet konvertálni a szöveges karakterláncot nagybetűvé kivételekkel az Excelben?
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
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...
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!