将Excel中的Excel数据复制到另一个工作表中

时间:2016-07-13 16:58:04

标签: excel excel-formula excel-2010 excel-2007 vlookup

我一直在谷歌上搜索这个,但没有运气。我的excel工作簿中有多个工作表,而一个工作表是一个总结'页。我希望其他工作表中的数据在我的摘要页面中更新。每当有人添加行或添加新数据时,我希望它能够流向摘要页面。

换句话说,我有Sheet ASheet BSheet C。我希望所有数据都显示在Sheet DSheet D上,以便Sheet ASheet BSheet C更改时更新。

enter image description here

这可能吗?

3 个答案:

答案 0 :(得分:0)

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

有可能:

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

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

这是SUM的最简单示例。

您可以查看this教程。

答案 1 :(得分:0)

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

如果您的单元格为空白,则不会显示任何内容。如果它包含任何内容,它将显示出来。

不确定这些纸张是否相互“竞争”,或者它们是否显示不同的东西。换句话说,您在SheetA A1SheetB A1中有值吗?如果是这种情况,你希望它如何反应?

答案 2 :(得分:0)

您可以使用此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

每次运行此宏时,它都会删除工作表D的所有内容(列标题除外),并复制工作表ABC另一张为D

它有两个基本假设,可以轻松改变:

  1. 表格的名称为ABCD。我想这不是真的,所以只需将Sheets("A").Select之类的所有行替换为Sheets("NameOfSheet").Select
  2. 所有工作表中的数据都从单元格A2开始。如果没有,只需将Range("A2").Select之类的所有行替换为数据的最右上角单元格。
  3. 一个假设不能轻易改变 - 所有工作表上的数据看起来都是一样的(相同数量的列,顺序相同)。

    试试这个并告诉我它是否对你有帮助;)