文章僅做記錄,方便下次使用
目錄
1、需求
按大寫字母將字段分列,實現(xiàn)下圖結(jié)果

2、實現(xiàn)方法
1)編寫VBA代碼,自定義函數(shù)
2)使用函數(shù),實現(xiàn)功能:遇見大寫字母則前面空格
3)按空格分開
正文
一、編寫VBA代碼,自定義函數(shù) SplitWords
1、按住 ALT + F11 鍵打開 Microsoft Visual Basic應(yīng)用程序 窗口

2、點(diǎn)擊右鍵 插入 > 模塊

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 保存并關(guān)閉VBA編寫界面,返回工作表
二、使用函數(shù),實現(xiàn)功能:遇見大寫字母則前面空格
1、輸入公式: = splitwords(A2)

2、然后將填充手柄向下拖動到要應(yīng)用此公式的單元格上,并且在每個大寫字母之前已插入空格以分隔單元格內(nèi)容

3、將這些公式單元格復(fù)制并粘貼為值

三、分列
選中B列,并按空格分列

步驟1

步驟2
完成結(jié)果如下

四、備注
參考文章如下:https://zh-cn.extendoffice.com/documents/excel/3336-excel-split-text-by-capital-letter.html
上面需求是按大寫字母分列,如果需求是在大寫字母前面加下劃線_,實現(xiàn)方法如下:
1、只需要修改最后一步操作分列
2、將分列這一步的操作更改為替換,將空格替換為下劃線
