0

我正在尝试在 Excel 中为我从其他工作簿中提取的数据创建一个标准化表单。

我想根据单独的表(数据表)中提供的数据自动生成表单(报告表)。我认为这会比编写脚本从多个工作簿中提取个人信息更简单。

我的问题是记录(行)的数量是不同的。我不能简单地将数据表中的单元格映射到报告表,因为对于某些报告将有 20 行,有些将是 8 行,等等。

完成此任务的最简单方法是什么?我被困在如何创建一个宏来检查数据表上有多少行并在报告表上创建相应的数字,只选择我想要的预先确定的字段。

我意识到这可以在 Access 中更容易地完成,但我没有 Access。

感谢您的输入。

4

1 回答 1

0

首先,你有一个正确的想法,有一个数据表和一个单独的报告表,它以合适的格式显示所需的数据。

“我不能简单地将数据表中的单元格映射到报告表,因为对于某些报告将有 20 行,有些将是 8 行,等等。”

我不确定你的意思是什么,你是说数据表上的行可以扩大和缩小吗?或者您是说您希望最终用户能够在报告中选择他们想要的行?换句话说,是什么决定了您希望报告中的哪些行?

除此之外,首先您只想使用单元格值,这样在将它们复制到报告表时,报告表上的所有格式都会被保留。

至于传输数据,有多种方法可以使用 vba 来完成,具体取决于您对我上面问题的回答。

  • 根据条件提前过滤行(使用复制到另一个位置)
  • 复制用户选择的所有行(应该不需要使用循环,For Each Row 等)
  • 根据用户输入所需行的用户输入框复制行。

我建议复制所有列,然后隐藏不需要的列:

Worksheets("Report").Range("B:B,D:E").EntireColumn.Hidden = True
于 2012-04-19T05:44:11.230 回答