如何在Excel中按大寫字母將文本分成單獨的列?

文章僅做記錄,方便下次使用

目錄

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、將分列這一步的操作更改爲替換,將空格替換爲下劃線

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章