首页 > 解决方案 > 从不同的工作簿复制并粘贴到 MasterSheet

问题描述

我有一本工作簿,每个国家(即法国、比利时等)有 8 张纸。除了这些表之外,我还有“Mastertab”和“Database”。

国家表的创建方式相同(它们具有相同的模板)。这些模板用于跟踪费用(例如,法国可能有 10 项费用,比利时 3 和英国 81)。

我想做的是创建一个宏(因为我认为如果我想避免空白行,公式是不可能的)它将:

  1. 查找 K 列中任何数据/值的最后一行。
  2. 选择所有数据(将在点 1 和列 BP 中指示的行)。
  3. 将此选择粘贴到主选项卡。
  4. 继续为其他国家/工作表做 1-3 知道数据应该粘贴在前一个的下方(因此它必须找到第一个空白行并将数据粘贴到那里)。

示例:每个国家/地区数据的第一行是 18。这是发布费用的第一行的地方。用户将只填写 K 列中的数据(所有其他列都用公式、vlookup 等填充)

假设我有 3 笔法国费用,我希望 Excel 选择 B18:P20 并粘贴到单元格 B18 的 Mastersheet 中。*

* Mastersheet 中的下一次粘贴应来自单元格 B21。

希望很清楚。:)

提前谢谢你,马雷克

标签: excelvbacopypaste

解决方案


如果您尝试使用公式来执行此操作,那么您肯定会超出 Excel 公式的限制。

您可以使用 VBA 来执行此操作,但您可能需要用户在每次输入时触发宏。如果您需要动态更新主服务器,那么这将再次变得更加困难。

我认为最干净的方法是使用一个宏,每次运行宏时从头开始构建主列表,即删除主表,然后重新创建它。这样您就不必在每次添加新行时重新组织主输出。这将需要很多额外的逻辑。

如果您正在使用并发更新的多用户环境,那么这种方法将不起作用,因为您需要额外的服务器来处理每个用户之间的消息传递。此时,最好不要使用 Excel。

如果每个用户都将添加他们的数据,运行宏并将工作表发送给下一个用户,您可以编造一个宏方法。

从一个非常高的水平:


推荐阅读