复制粘贴后转换为excel中的数字错误

我面临的问题从SAP导出文件复制和粘贴后,它要求转换为数字选项,这是错误的,而不转换为数字公式不起作用。 单元格值也只是数字。

我试图使macros,但它只能在单列上工作。 如何使它在多个柱子上一起工作,并使其更快,也因为它长时间卡住了exel。

代码转换为数字

Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), TrailingMinusNumbers:=True Columns("F:F").Select Selection.TextToColumns Destination:=Range("F1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), TrailingMinusNumbers:=True Columns("G:G").Select Selection.TextToColumns Destination:=Range("G1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), TrailingMinusNumbers:=True 

如何缩短代码,并结合单列中的多个列。

在Range.TextToColumns方法中使用xlFixedWidth 。

 Dim c As Long, vCOLs As Variant vCOLs = Array(1, 6, 7) 'columns A, F and G With Worksheets("Sheet1") For c = LBound(vCOLs) To UBound(vCOLs) With .Column(c) .TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, _ FieldInfo:=Array(0, 1), TrailingMinusNumbers:=True End With Next c End With 

变体数组允许您快速指定要处理的列。 即使有大量(〜250K)的行数,也应该相当快地循环。