【问题标题】:How to source data from multiple sheets to one sheet based on a specific criteria如何根据特定条件从多张工作表中获取数据到一张工作表
【发布时间】:2014-12-12 08:52:58
【问题描述】:

我有四张excel表,一张显示本周的数据(Sheet1),第二张显示上周的数据(Sheet 2),第三张表包含所有记录(Sheet 3),可以在任何一张表中,即工作表 1 或工作表 2 和工作表第四具有我们确定数据是否应来自当前周或上周的数据(工作表 4,也可以称为范围表)。

例如如果第三张表中提到的“XXXX”在sheet4中可用,则它将从Sheet 1中复制所有相关记录,否则应从Sheet 2中选择记录。

我尝试过使用 vlookup;但是,表 5 中需要输出,问题是我需要在表 5 中为整个数据提供所有记录数(表 3 的所有记录,如果单个记录出现 3 次,我应该有三行在具有相同编号的第 5 页中)。我想让我的工作表动态化,并且觉得它只能使用宏代码来完成。谁能帮我解决这个问题。

我认为这可以使用 Autofilter 来使用,但我不知道应该如何使用它,因为我有大约 500 条记录需要数据,并且每条记录在 Sheet1 或 Sheet2 中最多有五个相关记录。

【问题讨论】:

    标签: database excel vba


    【解决方案1】:

    您似乎需要审查您的数据架构。有一条万无一失的黄金法则:

    在一张纸上输入数据。

    在其他工作表上报告。

    我有四张excel表,一张显示本周的数据(Sheet1),第二张显示上周的数据(Sheet 2),第三张显示所有记录(Sheet 3)

    这不是好的数据架构。我建议您重新组织文件以遵循良好的电子表格设计实践,而不是创建帮助您支持不良架构的 VBA。

    您无需复制数据,只需在报告中显示正确的数据即可。可以从数据输入表轻松创建报告。不需要 VLookup。像“本周”或“上周”这样的时间范围可以通过过滤器显示在您的报告中。

    【讨论】:

    • 您好 Teylyn,感谢您的回复。它仍然是我正在准备的正在进行的文件。本周和上周的数据是从软件中提取的,我无法真正更改这些输出。此外,范围表由第三方提供。我只有一张表 3,上面列出了所有记录。我正在寻找一个代码来从我从系统获得的报告中提取数据并在最终选项卡上显示正确的信息(表 5)
    猜你喜欢
    • 2014-05-01
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多