【发布时间】:2020-04-25 19:35:44
【问题描述】:
我是 VBA 编码的新手,我正在尝试将除一张之外的所有表格中的文本转换为文本,但没有取得成功。我在每张纸的 A 列中有文字,行数可能不同。
这就是我的代码的样子
Sub text_to_column()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim arr() As Variant, i As Long, nrCol As Long
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Summary" Then
ws.Select
nrCol = 20
ReDim arr(1 To nrCol) As Variant
For i = 1 To nrCol
arr(i) = Array(i, 1)
Next
Selection.TextToColumns _
Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:="^", _
FieldInfo:=arr, _
TrailingMinusNumbers:=True
End If
Next ws
End Sub
请指导。
【问题讨论】:
-
你好。为我们提供数据(输入)和所需输出的示例。而且您没有提到代码中的问题。
-
我需要将文本转换成列。文本在每张纸的 A 列中。我在运行代码时遇到运行时错误。由于没有选择要解析的数据,因此代码读出。输入数据格式为“4^DD^1^1^1^O^^1^^AAAAA1088G^^^XYZ PVT LTD^1808.00^0.00^0.00^1808.00^^1808.00^^^90422.00^14052018^14052018 ^^2.0000^^^^^^^94C^^^^^^^^^^"
标签: excel vba text-to-column