如何在 Excel 中將文字字串轉換為正確的大小寫幷包含例外情況?
您是否曾經想過在 Excel 中是否有方法可以自動更正句子中字串的大小寫?在 Excel 中可以實現這一點。本教程將幫助您瞭解如何在 Excel 中將文字字串轉換為正確的大小寫幷包含例外情況。我們可以使用 VBA 應用程式來完成此任務,因為它無法直接在 Excel 中完成。當單詞的字母根據語法以正確的大小寫顯示時,它們被稱為“正確的大小寫”。
在 Excel 中將文字字串轉換為正確的大小寫幷包含例外情況
在這裡,我們將首先建立例外情況列表,然後插入 VBA 模組並執行它以完成任務。讓我們看一下在 Excel 中將字串轉換為正確的大小寫幷包含例外情況的簡單過程。
步驟 1
讓我們考慮一個 Excel 工作表,其中資料工作表類似於下圖所示的資料。
然後右鍵單擊工作表名稱並選擇“檢視程式碼”以開啟 VBA 應用程式。然後單擊“插入”並選擇“模組”。
右鍵單擊 > 檢視程式碼 > 插入 > 模組
步驟 2
在文字框中鍵入以下程式程式碼,如下圖所示。
程式
Sub CellsValueChange()
'Update By Nirmal
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:", "Proper Text String", xAddress, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Output cells:", "Proper Text String", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
Set xPRg = Application.InputBox("Cells to exclude:", "Proper Text String", , , , , , 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
現在將工作表另存為啟用宏的工作簿,然後單擊 F5 執行程式碼。然後選擇原始資料的範圍並單擊“確定”。
步驟 4
再次,選擇您需要輸出的單元格並單擊“確定”。
步驟 4
最後,選擇例外情況的範圍並單擊“確定”。
結論
在本教程中,我們使用了一個簡單的示例來演示如何在 Excel 中將文字字串轉換為正確的大小寫幷包含例外情況。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP