會將一個包含文字的儲存格欄剖析至數個欄。

運算式 TextToColumns ( Destination DataType TextQualifier ConsecutiveDelimiter Tab Semicolon Comma Space Other OtherChar FieldInfo DecimalSeparator ThousandsSeparator TrailingMinusNumbers )

expression 代表 Range 物件的變數。

必要/選用 Variant 如果 Other 為 True,則為 必要 ; Other 為 True 時的分隔符號。 如果指定了一個以上的字元,只會使用字串中的第一個字元,並且忽略其餘的字元。 FieldInfo Variant 包含個別資料欄剖析資訊的陣列。 解譯取決於 DataType 的值。

當分隔資料時,此引數為二元素陣列的陣列,其中每個二元素陣列都會為特定欄指定轉換選項。 第一個元素是 (1 型) 的資料行編號,而第二個元素是其中一個 XlColumnDataType 常數,指定如何剖析資料行。 DecimalSeparator Variant Microsoft Excel 在識別數字時使用的小數分隔符號。 預設值為系統設定。 ThousandsSeparator Variant Excel 使用的是千分位分隔符號。 預設值為系統設定。 TrailingMinusNumbers Variant 以負號字元開始的數字。

Variant

以下表格所示為使用不同匯入設定將文字匯入 Excel 中的結果。 數值結果顯示在最右方的欄中。

系統小數點分隔字元 系統千分位分隔符號 小數分隔符號值 千分位分隔符號值 儲存格的值 (資料類型)

只有在安裝並選取 [臺灣語言支援] 時,才使用 XlColumnDataType 列舉的 xlEMDFormat 常數。 xlEMDFormat 常數指定使用台灣年代資料。

欄識別符號可以任何順序排列。 如果某一特定欄的輸入資料中沒有指定的欄規範,那麼該欄會以 xlGeneralFormat 設定進行剖析。 本範例會略過資料來源中的第三欄、以文字格式剖析第一欄,以及使用 xlGeneralFormat 設定剖析其餘的欄。

 Array(Array(3, 9), Array(1, 2))

如果來源資料有固定寬度的欄,該欄每個兩元素陣列的第一個元素將指定列中起始字元的位置 (以整數的類型,0 表示第一個字元)。 雙元素陣列的第二個元素會將資料行的剖析選項指定為 1 到 9 之間的數位,如先前所列。

下列範例從固定寬度檔案中剖析出兩欄,第一欄從行起始處開始,長度為 10 個字元。 第二欄從第 15 個字元開始,直至行尾。 為了避免在位置 10 與位置 15 之間包含字元,Microsoft Excel 新增略過欄項目。

Array(Array(0, 1), Array(10, 9), Array(15, 1))

本範例會將剪貼簿的內容 (其中包含以空格分隔的文字表格) 轉換為 Sheet1 上的個別欄。 您可以用 [記事本] 或 WordPad (或其他文字編輯器) 來建立簡單的以空格分隔的表格,將該文字表格複製到 [剪貼簿],再切換到 Microsoft Excel,最後再執行此範例。

Worksheets("Sheet1").Activate 
ActiveSheet.Paste 
Selection.TextToColumns DataType:=xlDelimited, _ 
 ConsecutiveDelimiter:=True, Space:=True

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應