文章僅做記錄,方便下次使用
目錄
1、需求
按大寫字母將字段分列,實現下圖結果
2、實現方法
1)編寫VBA代碼,自定義函數
2)使用函數,實現功能:遇見大寫字母則前面空格
3)按空格分開
正文
一、編寫VBA代碼,自定義函數 SplitWords
1、按住 ALT + F11 鍵打開 Microsoft Visual Basic應用程序 窗口
2、點擊右鍵 插入 > 模塊
3、將以下代碼粘貼到 模塊 窗口
Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
Dim I As Integer
SplitWords = Left(Str, 1)
For I = 2 To Len(Trim(Str))
If (Asc(Mid(Str, I, 1)) > 64) And _
(Asc(Mid(Str, I, 1)) < 91) And _
(Mid(Str, I - 1, 1) <> " ") Then _
SplitWords = SplitWords & " "
SplitWords = SplitWords & Mid(Str, I, 1)
Next
End Function
4、Ctrl + s 保存並關閉VBA編寫界面,返回工作表
二、使用函數,實現功能:遇見大寫字母則前面空格
1、輸入公式: = splitwords(A2)
2、然後將填充手柄向下拖動到要應用此公式的單元格上,並且在每個大寫字母
之前已插入空格
以分隔單元格內容
3、將這些公式單元格複製並粘貼爲值
三、分列
選中B列,並按空格分列
完成結果如下
四、備註
參考文章如下:https://zh-cn.extendoffice.com/documents/excel/3336-excel-split-text-by-capital-letter.html
上面需求是按大寫字母分列,如果需求是在大寫字母前面加下劃線_,實現方法如下:
1、只需要修改最後一步操作分列
2、將分列這一步的操作更改爲替換,將空格替換爲下劃線