Jak przekonwertować ciąg tekstowy na odpowiednią wielkość liter z wyjątkami w programie Excel?
W programie Excel możesz zastosować funkcję Właściwa, aby łatwo przekonwertować ciągi tekstowe na odpowiednią wielkość liter, ale czasami trzeba wykluczyć niektóre określone słowa podczas konwersji ciągów tekstowych na odpowiednią wielkość, jak pokazano na zrzucie ekranu. W tym artykule omówię kilka szybkich sztuczek, aby rozwiązać tę pracę w programie Excel.
Konwertuj ciągi tekstowe na odpowiednie wielkości liter z wyjątkami przy użyciu formuły
Konwertuj ciągi tekstowe na odpowiednie wielkości liter z wyjątkami przy użyciu kodu VBA
Konwertuj ciągi tekstowe na odpowiednie wielkości liter z wyjątkami przy użyciu formuły
Poniższa formuła może pomóc w szybkim rozwiązaniu tego zadania, wykonaj następujące czynności:
Wprowadź tę formułę:
= UPPER (LEFT (A2)) & MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2)) & "", "Of", "of"), "A", "a"), "Is „,” to ”),„ USA ”,„ USA ”)), 2, LEN (A2)) do komórki, w której chcesz uzyskać wynik, a następnie przeciągnij uchwyt wypełniania, aby wypełnić tę formułę, a ciągi tekstowe zostały przekonwertowane na odpowiednią wielkość liter, ale z określonymi wyjątkami, patrz zrzut ekranu:
Uwagi: W powyższym wzorze, A2 to komórka, którą chcesz przekonwertować, „Of”, „A”, „Is”, „Usa” są zwykłymi słowami z literami po konwersji, „Z”, „a”, „jest”, „USA” to słowa, które chcesz wykluczyć z właściwego przypadku. Możesz je zmienić według swoich potrzeb lub dodać inne słowa za pomocą funkcji PODSTAW.
Konwertuj ciągi tekstowe na odpowiednie wielkości liter z wyjątkami przy użyciu kodu VBA
Jeśli powyższa formuła jest nieco trudna do zrozumienia i zmiany w zależności od potrzeb, tutaj możesz również zastosować kod VBA, aby zakończyć to zadanie. Wykonaj kolejno poniższe kroki.
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2, Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.
Kod VBA: konwertuj ciągi tekstowe na właściwy przypadek z wyjątkami:
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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawia się okienko zachęty przypominające o wybraniu oryginalnych komórek, które chcesz przekonwertować, patrz zrzut ekranu:
4. A następnie kliknij OK, wybierz komórki, w których chcesz wyprowadzić wyniki w wyskakującym polu, zobacz zrzut ekranu:
5. Kliknij OKiw wyskakującym oknie dialogowym wybierz teksty, które chcesz wykluczyć, zobacz zrzut ekranu:
6. A następnie kliknij OK aby wyjść z okien dialogowych, a wszystkie ciągi tekstowe zostały przekonwertowane na odpowiednią wielkość, ale z wyłączeniem określonych słów, patrz zrzut ekranu:
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Exceli doświadcz wydajności jak nigdy dotąd. Kutools for Excel Oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Office Tab Wprowadza interfejs z kartami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
