VBA數組函數Split(),將文本內容轉化為數組的實用便捷函數

2020-12-14 VBA語言專家

大家好,我們今日繼續講解VBA代碼解決方案的第60講內容:如何將文本內容轉化為數組。這個問題的提出是因為我們在處理一些文字時往往在WORD中,要拷貝到EXCEL中來填充一些資料,多是人名,設備名等,這些往往要求以獨佔一個 單元格的信息,這時該如何把這些人名,設備名放到EXCEL中呢?這就是講文本轉化為數組再填充的問題。

一:在處理字符串時可以使用Split 函數將字符串按指定的分隔符分開並以數組返回,

Split 函數返回一個下標從零開始的一維數組,包含指定數目的子字符串,語法如下:

Split(expression[, delimiter[, limit[, compare]]])

參數expression是必需的,包含子字符串和分隔符的字符串表達式。

參數delimiter是必需的,用來標識子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。

二:我們在完成數組的轉換之後,往往要求橫向或者縱向的填充,這時工作表Transpose函數返迴轉置單元格區域,即將一行單元格區域轉置成一列單元格區域,反之亦然,語法如下:

TRANSPOSE(array)

參數array為需要進行轉置的數組或工作表中的單元格區域。

有了上面兩個知識點我們看我們今日的學習內容,我們有一個單元格的文本內容,要把這些內容首先轉化為數組,然後再填充到縱向的單元格中。

代碼如下:

Sub MySplitarr()

Dim Arr As Variant

Arr = Split(Sheets("kk").Cells(1, 1), " ")

Sheets("kk").Cells(3, 1).Resize(UBound(Arr) + 1, 1) = Application.Transpose(Arr)

End Sub

代碼解析:

MySplitarr過程使用Split 函數將工作表Sheets("kk")中A1單元格的姓名分別寫入到工作表Sheets("kk")中的A列單元格。

第4行代碼,首先使用UBound函數取得返回數組的最大下標後調整單元格區域,因為數組下標的預設下界默認為0,所以在使用Resize屬性調整單元格區域時參數RowSize需要在返回數組的最大下標上加一。

然後使用工作表Transpose函數將返回數組轉置後寫入到工作表調整後的單元格區域中。

代碼截圖:

運行前的窗口:在A1單元格有一組文本:

運行後:

運行後在A3單元格向下處理了上述的文本。

今日內容回向:

1 Split 函數的作用是什麼?他是VBA函數嗎?

2 TRANSPOSE(array) 函數的作用是什麼?

相關焦點

  • Split函數應用|分離商品和數量
    下面這個例子就可以用vba中的split函數解決問題的經典例子。▶如下圖,如果手動分開商品會很麻煩,複製粘貼多次才能解決。下面就用vba中的Split函數配合循環來快速解決這個問題。▶Split函數講解Split 函數返回一個包含分割符的基礎上進行分隔特定數量的數組。
  • 利用VBA代碼將文本轉換為數組函數
    這些內容大多是我的經驗的記錄,來源於我多年的經驗。當前的代碼多是出自VBA數組與字典解決方案,今日分享的是NO.245,內容是:VBA過程代碼246:文本轉換為數組函數SplitSub MyNZ()Dim Arr As VariantArr
  • VBA進階 | 數組基礎06: 與數組相關的函數——Array函數與IsArray函數
    由Array函數返回的數組只可賦值給一個Variant型變量,不能賦值給已聲明為數組變量的變量。Array函數返回的數組中元素的順序與傳遞給函數的參數值的順序相同。Array函數總是返回Variant類型的數組,但元素的數據類型可以不同,這取決於傳遞給該函數的數值類型。
  • Split函數的基本講解
    大家好,我們今日講解「VBA信息獲取與處理」教程中第十四個專題「Split函數提取數據信息的深入講解」的第一節「Split函數的基本講解」,這個專題是非常實用的知識點,希望大家能掌握利用。大家好,我們今天開始第十四專題的講解,這個專題是對Split函數的深入發掘,深入分析這個函數在提取數據信息時候的作用。
  • VBA基礎-數組知識
    ➜那麼什麼是VBA數組呢?    VBA數組就是儲存一組數據的數據空間。數據類型可以數字,可以是文本,可以是對象,也可以是VBA數組.➜創建數組三大方式     三個方法:①array函數創建 ② split函數創建 ③ 通過Range對象直接創建數組     arr = array
  • 如何將Excel數據表單元格保存為數組,VBA數組進階應用
    No.1在vba編程中,數組應用是一個十分有用的方法。如何把數據表作為數組進行處理,是編程過程中的一個重要技能。學會之後,將大大提高編程技術,也將使數據處理的過程變得更加流暢。No.2上圖為例,把表格內容作為數組值進行保存,然後通過流程編碼對成績進行一個比較判斷,最終得出一個成績等級的判定。
  • 【VBA自定義函數】315個自定義函數
    15、從右邊開始查找指定字符在字符串中的位置16、從右邊開始查找指定字符在字符串中的位置17、計算工齡18、計算日期差,除去星期六、星期日19、將英文字反轉的自定函數.20、計算個人所得稅21、一個能計算是否有重複單元的函數22、數字金額轉中文大寫23、將數字轉成英文24、人民幣大小寫轉換25、獲取區域顏色值26、獲取活動工作表名27、獲取最後一行行數28、判斷是否連接在線29、幣種轉換30、檢驗工作表是否有可列印內容
  • Excel函數,與數組相關的函數之split,excel使用技巧大全
    Excel函數,與數組相關的函數之split,excel使用技巧大全 ​excel使用技巧大全上一節咱們講了怎樣把數據併合在一起,現在咱們看下怎樣把合併後的數據給拆分開來
  • Javascript中split函數用法指導手冊
    Javascript中split函數用法指導手冊 本文向大家重點講解一下Javascript中split函數使用,它可以將一個字符串分割為子字符串,然後將結果作為字符串數組返回,相信本文介紹你對split函數的用法有明確的認識。
  • VBA與函數公式的一生一世,若如初見,怎奈何不再見
    因此今天和您分享的是如何在VBA中間使用函數公式和他們的前世今生。在每天的工作過程中,相信Excel裡面很多函數我們都用過,也是非常熟悉的,那在VBA中該怎麼使用函數達到你的目的呢?現在我們有如下的數據,本文將以以下元數據來說明如何使用函數公式。
  • VBA中數組的合併與拆分(Join和Split),篩選(filter)的實際應用
    大家好,我們今日繼續講解VBA代碼解決方案的第63講內容:數組的合併與字符串拆分(Join & Split),及篩選filter函數的應用一Join函數:返回一個字符串,該字符串是通過連接某個數組中的多個子字符串而創建的,語法如下:Join(sourcearray[, delimiter])參數sourcearray是必需的
  • VBA教程:來談一談VBA中的拆分字符串函數
    哈嘍,大家好,今天跟大家講一下VBA中的split函數的用法看了這兩個案例想必小夥伴們可以看出來它的用途了:就是將字符串按照指定分隔符拆分成多個子串。它的語法是:Split(待拆分字符串,分隔符字符串)按照split函數的語法,它的待拆分字符串就是B3這個單元格,需要將頓號來作為拆分符號,所以它的第2參數就是「、」頓號。將參數依次填入產生完整寫法Split(range(「B3」),」、」)這個函數就可以將上面的人名單獨拆分開,那麼問題來了,字符串是拆分開了,那麼在VBA中拆分開的字符串是以什麼形式保存的呢?
  • 【Excel VBA數組函數】LBound和UBound
    LBound函數和UBound函數LBound函數和UBound函數分別返回數組的下屆和上屆數字Lbound函數Sub ArrayTest()    Dim arr As Variant '定義一個Variant類型的變量,名稱為arr    arr = Array(1, 2, 3)'將1到3的自然數存儲到數組arr中
  • Excel文本函數中的NO.1,Text函數簡單又高效,快速完成數據轉化
    Excel文本數據處理相信許多朋友都碰到過。在進行文本轉化的時候,一個非常實用的函數那就是Text函數。它可以實現我們許多非常難搞的操作。下面我們就來學習一下,Text在我們實際工作中如何進行運用。案例一:Text函數快速將日期轉化為星期案例說明:我們需要將圖中A列中的日期轉化為星期的格式,這裡就可以用到Text文本轉化函數。
  • 學習筆記 Perl split函數用法指導
    本文和大家一起學習一下Perl split函數用法,Perl中的一個非常有用的函數是split-把字符串進行分割並把分割後的結果放入數組中。這個函數使用規則表達式(RE),如果未特定則工作在$_變量上。
  • 基礎,總結php把字符串轉為數組的方法
    explode() 函數實現explode() 函數把字符串打散為數組。explode(separator,string,limit)返回值此函數返回由字符串組成的 array,每個元素都是 string 的一個子串,它們被字符串 delimiter
  • VBA數組函數、差值的取得以及利用FileCopy語句複製文件
    大家好,今日內容仍是和大家分享VBA編程中常用的簡單「積木」過程代碼,這些內容大多是取至我編寫的「VBA代碼解決方案」教程中內容。NO.176-NO.177容是:NO. 180:在VBA中split和join對數組操作NO. 181:在VBA中查找數組的差集NO. 182:在VBA中使用FileCopy語句複製文件VBA過程代碼180:在VBA中split和join對數組操作
  • excel函數公式實戰:文本函數TEXT常用技巧匯總
    要說在excel中最特別的文本函數,那必定非TEXT函數莫屬,外界給它的稱號不計其數「文本之王」「整容大師」「千面鬼才」等等,由此可看出對它的喜愛。下面小花就和大家匯總了TEXT函數5種最實用的用法,趕緊來看看吧!學習更多技巧,請收藏。
  • PHP數組函數有哪些?
    explode()函數定義: explode() 函數把字符串打散為數組。next()函數定義:next() - 將內部指針指向數組中的下一個元素,並輸出。語法:mixed next(array array);end()函數定義:end() - 將內部指針指向數組中的最後一個元素,並輸出。語法:mixed end(array array);prev()函數定義:prev() - 將內部指針指向數組中的上一個元素,並輸出。
  • 萬能函數Sumproduct實用技巧解讀!
    功能:返回相應的數組或區域乘積的和。語法:=Sumproduct(數組或區域)。示例:目的:計算銷量和。解讀:當Sumproduct函數的參數只有一維數組或指定的值時,其作用和Sum函數相同,就是對指定範圍的值求和。二、先乘積再求和。目的:計算總銷售額。