【问题标题】:How to automatically transfer cells from multiple sheets to one master worksheet in Excel如何自动将单元格从多张工作表转移到 Excel 中的一个主工作表
【发布时间】:2014-01-31 05:28:36
【问题描述】:

我有一个包含一个主表的工作簿,其中列出了所有组合资产和几个子表(列出有形资产、证券等)。为简单起见,假设主表包括两列:名称和值。子表包括不需要转移到主表的附加列(例如,获取日期、基础等)。对于单个子表上的每个新条目,我想在主表上插入一个新行并将相关数据添加到单元格中。

证券工作表:

Name      Value    Acquisition Date    Basis
AAPL      $450     1/8/2010            $211
GE        $2,500   11/1/2011           $1,500

有形资产工作表

Name      Value    Insured
Jewelry   $6,000   Yes
China     $1,200   No 

主工作表 - 组合资产列表:

Name      Value
AAPL      $450
GE        $2,500
Jewelry   $6,000
China     $1,200

这可以通过 Excel 公式完成,还是需要 VBA?

任何关于解决此问题的最佳方法的建议将不胜感激。

谢谢。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这可以使用 Get External Data 来实现(请注意,尽管名称如此,但它可以用于在工作簿中进行自我引用)

    此答案基于 Excel 2010。如果您使用的是其他版本,仍然可以,但访问这些功能的菜单可能会有所不同。

    步骤:

    1. Master 工作表中,从 数据 选项卡中,选择 Get External Data / From Other Sources
    2. 从 Microsoft Query 中选择
    3. 选择数据源对话框中,选择Excel文件*
    4. 选择工作簿对话框中,选择您正在使用的文件
    5. Microsoft Query 现在应该打开,显示 Add Tables 对话框
    6. 添加证券有形资产
    7. 有形资产,双击 NameValue 将它们添加到查询中
    8. 从菜单栏中选择 SQL
    9. 将显示的查询编辑为此,并接受:

      (SELECT `'Tangible Assets$'`.Name, `'Tangible Assets$'`.Value
      FROM `Securities$` `Securities$`, `'Tangible Assets$'` `'Tangible Assets$'`)
      UNION
      (SELECT `Securities$`.Name, `Securities$`.Value
      FROM `Securities$` `Securities$`, `'Tangible Assets$'` `'Tangible Assets$'`)
      
    10. 您将收到警告,SQL 查询无法以图形方式显示。选择OK

    11. 从“文件”菜单中选择将数据返回到 Excel
    12. 选择放置查询的位置
    13. 完成了!

    现在,每当您的源数据表更新时,刷新主查询以获取最新数据。

    【讨论】:

    • 我还没有测试过,但它看起来很优雅!我会记住的。我不知道您可以使用 Get External Data 进行自我引用。
    • 这看起来是一个不错的简单解决方案。不幸的是,它似乎不适用于 Mac,因为 Excel 需要使用第 3 方 ODBC 管理器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2017-09-09
    • 1970-01-01
    • 2021-06-16
    相关资源
    最近更新 更多