【发布时间】:2021-10-23 22:28:26
【问题描述】:
我正在尝试自动生成根据有值的年份而变化的数据,并填充 Excel 表进行分析。我的 VBA 编码技能一般,所以我的目标是填充特定字段以减轻负担。我在十年内拉动销售额,它按零件号分组,年份是列,总销售额是行中的总和值,它看起来像这样:
| part | 2018 | 2020 |
|---|---|---|
| ABC | $2,000 | $10,652 |
问题是每次运行的年份都不同,因此有些运行将有 2010、2012 年,其他运行 2017、2018、2019 年等。当我尝试使用通用更新(或附加)查询将此数据推送到标记为字段的字段时从 2010 年到 2021 年,任何时候一个字段不存在,它都会抛出一个错误,而不是仅仅忽略它。
使用上面的示例,此交叉表中只有 2 年的列。但我的查询有所有可能年份的更新,2010-2021。对于缺少的字段,我在更新或附加时尝试使用NZ([theData]![2019],"") 之类的措辞,希望如果该字段不存在,它只会输入空值,但当该字段不存在时它会出错。这有可能绕过吗?还是我需要构建一个 VBA 循环来检查表头值并将数据推送到表中的匹配字段中?
【问题讨论】:
-
为什么需要这个提交到表?为什么不导出查询?否则,是的,需要 VBA 操作记录集。当您有一些特定问题的代码时,请发布带有详细信息的问题。
-
因为最终这些数据必须输入到 Excel 表格中。我最初的目标是快速导出,其中所有年份的所有销售数据每次都填充到相同的列中。如果第一次运行只有 2 年,第二次运行有 6 年,如果我只是盲目地导出数据,就会将数据输入错误的位置。这就是为什么它需要首先进入一个已建立的表。或者我不得不花太多时间在这台大型机器上编写一个小齿轮,这看起来就是我必须要做的。我希望有一个我没有看到的简单解决方案。