vba - 制表符的文本到列逗号分隔问题
问题描述
我正在将“文本到列”转换为许多以逗号分隔的 .txt 文件。少数行中有 [TAB]。当我使用 text-to-columns 宏进行转换时,这些行将删除选项卡后该行上的所有内容。
我已经尝试过“TextQualifier:=xlTextQualifierNone”和“TextQualifier:=xlTextQualifierDoubleQuote”,希望其中一个是问题所在,但都不是正确的。下面是我的代码:
Sub Text2ColsAX()
'
' Text2ColsAX Macro
'
Dim wsCopy As Worksheet
Dim rngCopy As Range
Set wsCopy = Application.ActiveSheet
With wsCopy
Set rngCopy = .Range("a2:a" & .Range("a2").End(xlDown).Row)
rngCopy.Select
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 5), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), _
Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 2 _
), Array(14, 2), Array(15, 2), Array(16, 2), Array(17, 1), Array(18, 1), Array(19, 2)), TrailingMinusNumbers:=True
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 2), Array(2, 5), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), _
Array(7, 2), Array(8, 2), Array(9, 2), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 2 _
), Array(14, 2), Array(15, 2), Array(16, 2), Array(17, 1), Array(18, 2), Array(19, 2)), TrailingMinusNumbers:=True
End With
End Sub
一行如下:
"1 2345678 some words with TAB HERE> 901234 morewords,mm/dd/yyyy,moretext,moretext,1234.56,,E1234,0000,000,123456,00000,000000"
变成:
"1 2345678 some words with TAB HERE>"
双引号不是文本的一部分。它们仅指示文本行的开始位置和结束位置。
解决方案
推荐阅读
- rest - 如何在 Flutter 和 Prestashop 中进行登录
- reactjs - 如何在 babel-plugin-module-resolver 中使用 root 选项?
- android - 如何设置物品重量导航抽屉?
- if-statement - Else-If 命令在执行自己的 ifs 后创建变量
- r - 如何从过滤后的数据框中提取向量
- javascript - 迁移到 Typescript 时无法弄清楚如何使用模式指令
- python - 如何在 Python 中乘以 3D numpy 数组以获得 2D numpy 数组?
- bash - 带有awk的bash中的正则表达式
- c - 在 c 语言的 for 循环中提供输入后,我的程序停止工作
- bluetooth - 没有虚拟方法 isLe2MPhySupported() 的应用程序崩溃