【问题标题】:Losing data when copy pasting from txt to excel and running text to column function从 txt 复制粘贴到 excel 并将文本运行到列功能时丢失数据
【发布时间】:2019-11-25 19:22:57
【问题描述】:

我在 txt 文件中存储了用逗号分隔的多行数据。

我遇到的问题是,当我将数据复制到 Excel 并执行文本到列功能时,我丢失了一部分数据。 Security ID 总是 9 个字符的长度,但如果它只包含数字并且开头有零,一旦我粘贴到 excel 中,数据就会被视为数字并且零会消失

例如我在 txt 文件中的数据(Security ID 字段是问题)

Security  ID        Symbol     SMF SOURCE   ISSUE TYPE              PRICE   YIELD
000384526           PortDflt                Equity - Common Stk     85.365  0

例如当我将粘贴复制到 excel 中时得到什么

Security  ID        Symbol     SMF SOURCE   ISSUE TYPE              PRICE   YIELD
384526              PortDflt                Equity - Common Stk     85.365  0

我尝试了使用以下公式的解决方法,但由于安全 ID 被视为数字,我也遇到了类似 2.361E+111 的结果的问题,并且以下公式变得无用

=IF(LEN(A2)<9,REPT(0,9 - LEN(A2))&A2,A2)

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    录制一个将文本写入列的宏,但请确保在第 3 步中在需要保留其格式的列上选择文本。

    您只需单击要更改单元格格式的列,然后选择左上角的文本。
    我这样做时记录的代码是:

    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 2), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
        TrailingMinusNumbers:=True 
    

    字段信息是列应该具有的单元格格式。 Array(1,2) 表示第一列 (A),格式应为 2 (Text)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2021-10-10
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多