Unpivot 代码集 returns Resize Ubound 函数中的一个错误

Unpivot code set returns an error in Resize Ubound function

我正在尝试对一组数据进行逆透视。多亏了我们好先生的帮助,我之前能够从稍微不同的源数据中做到这一点。 Tim Williams 回答了我之前关于此的问题 (),但是,现在我使用的源数据略有不同。

我很确定我只需更改将固定在

中的列数
p = UnPivotData(ThisWorkbook.Sheets("Projects Data").Range("A1").CurrentRegion, _
    114, True, True)

即114. 但是由于某种原因我在这部分出现错误

.Range("A1").Resize(UBound(p, 1), UBound(p, 2)).Value = p 

它也适用于几行,然后错误开始。我不确定这里的错误是什么。这两天我一直在努力解决这个问题,但我睡眠不足而且很沮丧,所以像往常一样,我真的很高兴并感谢你对此的帮助。

Here's an extract of the file that i'm working on with it's code.

问题是您的数据中出现 #1837-10-07 17:31:12#。但是 Excel 无法显示 1900 之前的日期。因此它无法写入该数据并中止。

问题是 Projects Data 中的列 DI 被格式化为 Date 但其中没有日期。将该数字格式修复为 General,您的函数将按预期工作。