首页 > 解决方案 > 跨多个工作簿输出信息

问题描述

我希望这足够清楚 - 如果需要更多信息,请发表评论。

我被要求设计一个 Excel / VBA 工具,该工具将根据用户偏好在摘要工作表上显示信息。理想情况下,主屏幕将包含一个顶部部分,其中包含许多复选框和下拉菜单,允许用户选择他们想要查看的信息:财务、活动和客户信息。如果用户选择财务和活动,此信息将显示在下面的 2 个表格中。

用户还将看到子部分,即财务将包括余额和欠款,就像上面一样,用户可以选择其中的一个或多个来查看信息。

我面临的困境是信息分布在不同的工作簿中,我发现很难找到一种快速有效的方法来提取数据并将其输出到我的工作表中。目前,我通过执行 VLookups(每个都有一个唯一的键)来创建主电子表格并使用数据透视表来显示信息,从而手动完成该过程。这太耗时了,而且在视觉上也不是很吸引人。

我想使用 VBA 自动执行此过程,并根据用户偏好即时访问主电子表格中的信息。

还值得注意的是,这将与完全不熟悉 Excel 的用户共享,因此我试图摆脱拖放数据透视表的方法。

如果有人对我如何创建这个系统有任何建议,那么你会为我的生活增加很多年。

标签: excelvba

解决方案


好吧,这是您需要的一个广泛的 VBA 宏。我会给你一些关于如何开始编码的指导。

这里的主要思想是从其他工作簿复制所有数据并将它们粘贴到您用于可视化数据的工作簿的不同工作表中,然后隐藏这些工作表。通过这种方式,您可以仅使用一个工作簿与所有数据进行交互。

那么你是怎么做到的呢?我推荐以下链接:
https ://www.excelcampus.com/vba/copy-paste-another-workbook/

隐藏工作表,请使用Sheets("sheet name").visible = false

取消隐藏工作表,请使用Sheets("sheet name").visible = true

为了保持数据更新,一种方法可能是将宏设置为在打开文件时运行。

检查此链接: https: //support.microsoft.com/en-us/office/automatically-run-a-macro-when-opening-a-workbook-1e55959b-e077-4c88-a696-c3017600db44

或者你可以只有一个按钮来更新。

注意:我在 Stackoverflow 上编写了一些 VBA 宏来在工作簿之间移动数据,这可能会有所帮助。您可以在我的个人资料的答案部分找到它们。


推荐阅读