将excel数据从一张纸复制到另一张纸上

我一直在谷歌search,但没有运气。 我在我的Excel工作簿中有多个工作表,以及一个工作表作为“汇总”页面。 我希望来自其他工作表的数据在我的摘要页面中更新。 每当有人添加一行或添加新的数据,我希望stream到摘要页面。

换句话说,我有Sheet ASheet BSheet C 我希望他们的所有数据都显示在工作Sheet D而工作Sheet D只要工作Sheet A ,工作Sheet B或工作Sheet C发生变化就更新。

在这里输入图像说明

这可能吗?

我不会干净,但如果你可以在SheetD A1使用它并拖动它。 =if(SheetA!A1="","",SheetA!A1)

如果你的单元格是空白的,它不会显示任何东西。 如果它包含任何东西,它会显示出来。

不确定这些表是否相互“竞争”,或者它们显示不同的东西。 换句话说,你在SheetA A1SheetB A1SheetA A1吗? 如果是这样的话,你希望如何反应?

更新:这个答案是基于一个误解的问题。

有可能的:

 =SUM(B1:B8, Sheet1!B3:B8) 

其中Sheet1是同一个Excel文件中的另一个工作表。

这是SUM最简单的例子。

你可以看看这个教程。

你可以使用这个VBA代码:

 Sub copy_all() ' ' copy all sheets to D ' Dim rowCount As Integer Sheets("D").Select Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Sheets("A").Select Range("A2").Select Range(Selection, Selection.SpecialCells(xlLastCell)).Select Selection.Copy Sheets("D").Select Range("A2").Select ActiveSheet.Paste Sheets("B").Select Range("A2").Select Range(Selection, Selection.SpecialCells(xlLastCell)).Select Selection.Copy Sheets("D").Select rowCount = Cells(Rows.Count, 1).End(xlUp).Row 'column A has a value of 1 Cells(rowCount + 1, 1).Select ActiveSheet.Paste Sheets("C").Select Range("A2").Select Range(Selection, Selection.SpecialCells(xlLastCell)).Select Selection.Copy Sheets("D").Select rowCount = Cells(Rows.Count, 1).End(xlUp).Row 'column A has a value of 1 Cells(rowCount + 1, 1).Select ActiveSheet.Paste End Sub 

每次运行此macros时,它将删除表格D所有内容(列标题除外),并将表格ABC依次复制到表格D

它有两个基本的假设,可以很容易地改变:

  1. 表单的名称是ABCD 我想这是不正确的,所以只需要replaceSheets("A").Select所有行,按Sheets("NameOfSheet").Select
  2. 所有工作表中的数据从单元格A2开始。 如果不是,只需要replaceRange("A2").Select所有行Range("A2").Select正确的最左上angular的数据单元格。

一个假设不能轻易改变 – 所有页面上的数据看起来都是一样的(相同数量的列,以相同的顺序)。

试试这个,告诉我是否帮助你;)