Range.TextToColumns 方法 (Excel)
會將一個包含文字的儲存格欄剖析至數個欄。
語法
運算式。TextToColumns (Destination、 DataType、 TextQualifier、 ConsecutiveDelimiter、 Tab、 Semicolon、 Comma、 Space、 Other、 OtherChar、 FieldInfo、 DecimalSeparator、 ThousandsSeparator、 TrailingMinusNumbers)
expression 代表 Range 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Destination | 選用 | Variant | 會指定 Microsoft Excel 放置結果之位置的 Range 物件。 如果範圍大於單一儲存格,會使用左上角的儲存格。 |
DataType | 選用 | XlTextParsingType | 要分割成多欄的文字格式。 |
TextQualifier | 選用 | XlTextQualifier | 指定要使用單引號、雙引號或無引號做為文字限定詞。 |
ConsecutiveDelimiter | 選用 | Variant | True 是表示 讓 Excel 將連續分隔符號視為一個分隔符號。 預設值為 False。 |
Tab | 選用 | Variant | 若為 True 使 DataType 成為 xlDelimited ,並使定位字元成為分隔符號。 預設值為 False 。 |
Semicolon | 選用 | Variant | 若為 TrueDataType 成為 xlDelimited 並使分號成為分隔符號。 預設值為 False 。 |
Comma | 選用 | Variant | 若為 True ,使 DataType 成為 xlDelimited ,並使逗號成為分隔符號。 預設值為 False 。 |
Space | 選用 | Variant | 若為 True ,使 DataType 成為 xlDelimited ,並使空白字元成為分隔符號。 預設值為 False 。 |
其他 | 選用 | Variant | 若為 True ,使 DataType 成為 xlDelimited ,並使 OtherChar 引數指定的字元成為分隔符號。 預設值為 False 。 |
OtherChar | 選用 | Variant | 如果 Other 為 True,則為 必要; Other 為True時的分隔符號。 如果指定了一個以上的字元,只會使用字串中的第一個字元,並且忽略其餘的字元。 |
FieldInfo | 選用 | Variant | 包含個別資料欄剖析資訊的陣列。 解譯取決於 DataType的值。 當分隔資料時,此引數為二元素陣列的陣列,其中每個二元素陣列都會為特定欄指定轉換選項。 第一個元素是 (1 型) 的資料行編號,而第二個元素是其中一個 XlColumnDataType 常數,指定如何剖析資料行。 |
DecimalSeparator | 選用 | Variant | Microsoft Excel 在識別數字時使用的小數分隔符號。 預設值為系統設定。 |
ThousandsSeparator | 選用 | Variant | Excel 使用的是千分位分隔符號。 預設值為系統設定。 |
TrailingMinusNumbers | 選用 | Variant | 以負號字元開始的數字。 |
傳回值
Variant
備註
以下表格所示為使用不同匯入設定將文字匯入 Excel 中的結果。 數值結果顯示在最右方的欄中。
系統小數點分隔字元 | 系統千分位分隔符號 | 小數分隔符號值 | 千分位分隔符號值 | 原始文字 | 儲存格的值 (資料類型) |
---|---|---|---|---|---|
期間 | 逗號 | 逗號 | 間隔 | 123.123,45 | 123,123.45 (數值) |
間隔 | 逗號 | 逗號 | 逗號 | 123.123,45 | 123.123,45 (文字) |
逗號 | 間隔 | 逗號 | 間隔 | 123,123.45 | 123,123.45 (數值) |
間隔 | 逗號 | 間隔 | 逗號 | 123 123.45 | 123,123.45 (文字) |
間隔 | 逗號 | 間隔 | 空格 | 123 123.45 | 123,123.45 (數值) |
只有在安裝並選取 [臺灣語言支援] 時,才使用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 支援與意見反應。