【问题标题】:Copy-paste rows into an Excel spreadsheet without overwriting existing content below将行复制粘贴到 Excel 电子表格中,而不覆盖下面的现有内容
【发布时间】:2016-03-17 21:23:31
【问题描述】:

这似乎是微不足道的,但我找不到解决方案,这是我使用 Excel 2010 时的主要工作流程障碍:

假设您有两个 Excel 工作表,工作表 A 有 1000 行,工作表 B 有 50 行左右。您希望将工作表 B 中的所有 50 行复制到工作表 A,以便新行位于工作表 A 的顶部 (!!!),但不会覆盖工作表 A 中的现有数据。

为此,您必须首先在工作表 A 上添加 50 行(包括仔细检查以确保您确实有 50 行而不是 49 行),然后将工作表 B 中的 50 行复制粘贴到工作表中A(指向第 1 行)。这行得通,但它既费时又伤脑筋。

如果不先添加 50 个空行,则 50 个新行将覆盖工作表 A 中的现有数据。

有人会假设必须有一种方法告诉 Excel 在工作表 A 中的现有内容之上添加 50 行复制的行,并且作为该过程的一部分,添加相同数量的行,以便没有现有数据将被覆盖。

我没有找到实现此目的的方法。当然,我可以为此编写一个 VBA 宏,但这真的有必要吗?还是有更简单的默认方式手动执行此操作?

注意:为简单起见,我描述了要复制整行的问题。但是,该问题也涉及复制单元格块(例如 B3:F53)。粘贴到工作表 A 时,它们应该下推现有行(是的,整行,而不是选定列中的单元格),而不是覆盖标记为插入点的单元格下方的行中的现有数据。

【问题讨论】:

  • 在 Mac 上的 Excel 2011 中,选项粘贴将插入新行然后粘贴。也许尝试 alt-paste 或类似的东西?
  • 感谢您的评论。实际上,我很了解超级用户,但我不知何故认为最终解决方案将是一个 VBA ......哦,顺便说一句,由于仍然没有人满意地回答这个问题,我现在去写这样VBA 程序并在此处发布...
  • 你创建了那个 vba 吗?我不敢相信 excel 有多糟糕。
  • @blm 您是如何获得该功能的?对于选项粘贴,我看到的行为是paste special,它不允许插入,而是只是覆盖
  • @javadba 嗯...我不知道?我已经使用 Excel 2011 很长时间了,我不记得它是开箱即用的还是我以某种方式对其进行了自定义。现在看,我看不到任何自定义方法,但我很容易遗漏一些东西。我注意到在 Excel 2019 中它不是这样工作的,这需要很多时间来适应,我一直都在使用它。对不起。

标签: excel


【解决方案1】:

以下步骤应该有效:

  • 将工作表 B 中的单元格复制到剪贴板
  • 突出显示您希望插入数据的行(例如,如果您希望将其插入顶部,请突出显示第 1 行)
  • 右键单击并选择“插入复制的单元格”

它应该让您可以选择将现有数据转移到您想要的位置。

【讨论】:

  • 但是没有选项可以移动整行,只能在粘贴了实际值的地方向下推。
  • 我不确定如何一步完成。粘贴数据后,您可以突出显示该行中的其余单元格,然后右键单击并选择“插入”->“向下移动单元格”。
  • 对这个答案的轻微修正,第 2 点:在您标记为“从此处开始插入复制的单元格”的行中,您必须准确标记放置复制单元格的列。如果您只是标记整行,则单元格将被放置多次(!)次,直到最后一行。 (这是一团糟)。 - 在 Excel 2010 中测试。
  • 如果您复制整行,该选项将插入整行。如果您只复制某些单元格,它只会移动插入数据所需的单元格。
【解决方案2】:

Excel 2016。 由于旧功能不再可用(!),我没有浪费太多时间,我复制了工作表末尾的旧表格/单元格。 然后剪切并插入单元格。两步过程,但需要 30 秒。

【讨论】:

  • 我正在使用 Excel 2016,我看到了该选项 - 但它不是常规粘贴选项的下一个,它位于下面的单独部分中。
【解决方案3】:

粘贴时执行“PASTE SPECIAL”,然后点击“跳过空白”,它会将您的数据从电子表格 B 复制到 A,而不会复制空白数据。

【讨论】:

    【解决方案4】:

    我也面临同样的问题,但之后我想出了解决方案。在进行复制和粘贴时,请按照以下步骤操作。

    1. 在复制之前选择整行,而不是只选择特定的单元格。这可以通过在左侧数字列表中拖动鼠标来完成。

    2. 然后你可以去任何地方粘贴它。这一次你会惊奇地发现没有重叠。

    【讨论】:

      【解决方案5】:

      所以,我最终来到这里是因为如果您尝试从另一个工作簿粘贴行/单元格,则“插入复制的单元格”选项不存在。

      我找到的最简单的解决方法是从一个工作簿中复制您想要的行或单元格,然后将它们粘贴到您想要最终插入的工作簿的新空白工作表中,然后从该新工作表中重新复制它们,右键单击要在工作表上插入它们的位置,现在应该会显示“插入复制的单元格”选项。选择它,你就完成了!

      【讨论】:

        【解决方案6】:

        选择现有数据右侧的空白列(或在左侧插入一列)并在标题正下方的顶部单元格中输入“51”...在“52”下方的单元格中,然后同时选择并拖动填充,使所有行的增量编号引用大于 50。 接下来在现有数据下方插入新数据,并在之前插入的数字标签列中,将新行编号为 1-> 50,然后将表格从最小到最大进行排序,以使新数据位于顶部,然后删除插入的列。

        ...

        或者,只需从空白工作表中选择 50 行并将它们插入到 1000 行表的顶部,然后直接粘贴 50 行新数据。

        【讨论】:

          【解决方案7】:

          我的解决方案是将不需要覆盖的单元格复制并粘贴到另一个空白工作簿中。然后复制并粘贴您要添加的单元格。然后将您放在空白工作簿上的单元格复制并粘贴回原始工作簿。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-02-18
            • 2014-10-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-09-07
            相关资源
            最近更新 更多