【问题标题】:Excel Macro Only recognizing some datesExcel 宏仅识别某些日期
【发布时间】:2014-05-30 14:26:39
【问题描述】:

我刚刚被分配编辑这个宏,我以前从未使用过。它正在从文本文件中导入数据。一切都差不多完成了,我只需要添加 6 列左右。我只是按照他们在 .TextFileColumnDataTypes 和 .TextFileFixedColumnWdiths 中添加的内容。

.TextFileColumnDataTypes = Array(1, 2, 2, 5, 1, 1, 1, 2, 2, 1, 5, 1, 1, 1, 5, 1, 1, 1, 1,     1, 1, _
    1, 5, 1, 5, 5, 5, 1, 1, 1, 1, 5, 5, 5, 1, 1, 5, 5, 1, 1, 5, 1, 1, 1, 1, 5, 1, 1, 1, 5, 1, 1, 1, 1, 2, 5, 5, 1, 5, 5, 2, 2)
.TextFileFixedColumnWidths = Array(1, 8, 9, 8, 35, 35, 35, 6, 2, 1, 8, 21, 6, 6, 8, 2, 1, 1, _
    6, 6, 6, 6, 8, 2, 8, 8, 8, 6, 6, 3, 3, 8, 8, 8, 6, 4, 8, 8, 6, 1, 8, 6, 1, 21, 9, 8, 35, 35, 35, 8, 2, 3, 6, 2, 8, 8, 2, 8, 8, 2, 1)

奇怪的是,倒数第三个日期字段被识别,而倒数第四个则不被识别。

输入文件的日期格式为 yyyymmdd。例如 20140530 表示 2014 年 5 月 30 日。所有日期都是这样格式化的,我只对我添加的 3 个左右有问题。

让我提供更多信息,我添加的数据行是这样的:

20131103SF081000050122013022620130401HT2013040220131009AD

我希望它看起来像这样:

11/3/2013 SF 81 50 12 02/26/2013 4/1/2013 HT 04/02/2013 10/9/2013 AD

当它看起来像这样:

11/3/2013 SF 81 50 12 20130226 4/1/2013 HT 20130402 10/9/2013 AD

【问题讨论】:

    标签: excel vba date


    【解决方案1】:

    这可能只是一个发布错误,但你的两个数组有不同的 Ubounds

    【讨论】:

    • 那么在我添加八个字段之前就是这样。我刚刚数了一下,我的实际上是最后八位。我还查看了我得到的东西,它也被 1 关闭了。当加载发生时,数据在所有正确的列中,只是没有格式化为其中一些列的日期。
    • 列宽数组通常少一个成员,因为假定最后一个字段运行到行尾(因此没有为此指定宽度)
    【解决方案2】:

    问题是因为数据类型数组的字段数不正确。因此,他们落后了一个。我没有注意到它,因为它没有影响他们的结果,因为该列的数据还没有。感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 2011-09-02
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多