Excel:如何在多个工作表中显示数据?

时间:2009-05-08 11:51:43

标签: excel

我编写了一个脚本,它创建了一个复杂的Excel工作表,其中包含来自多个数据源的数据。每张纸上的数据通常为1-5行。如果我可以创建另一张可以在线显示其他工作表数据的工作表(即,我在更改数据表时应该更改概述表),这将会很棒。我还需要使用各种样式格式化数据,并将概述表复制它们。最后,数据表具有不同的列宽。

我在想我只能导入纸张。当我将每个工作表保存到单个文件然后将它们作为OLE对象导入时,这种方法有效。有没有办法只用一个文件来达到同样的效果?

我需要告诉Excel“在Sheet1上的Sheet2上绘制A1:F3到单元格A1”。

“插入对象”让我可以创建Word文档或PP演示文稿并将其放入单元格中,但我无法创建新的Excel工作表并将其放入单元格中。是什么给了什么?

5 个答案:

答案 0 :(得分:3)

您可以使用相机对象。

  1. 在封面上复制所需的范围
  2. 转到封面
  3. 按住shift并单击编辑菜单
  4. 单击粘贴图片链接菜单项
  5. 这将粘贴一个动态图片对象,只要数据表上的相应区域发生更改,该对象就会更新。

答案 1 :(得分:2)

如果您想自己构建一个解决方案,请尝试:
http://poi.apache.org/
Apache POI - 访问Microsoft格式文件的Java API 它非常易于使用......您可以轻松地格式化数据等...

我使用了Apache Digester(http://commons.apache.org/digester/)的POI 从XML文件中读取数据并创建Excel表格。

[编辑]使用这种方法,您可以读取现有的Excel工作表,复制工作表之间的相关单元格(包括格式)。但这并不能解决“不同的列宽”和“在线更新”。

答案 2 :(得分:2)

您可以使用以下语法引用其他工作表:

SheetName!Cell

所以在Sheet1,A1中的公式是

=Sheet2!B4

将对B4中的sheet2中的值进行实时引用

答案 3 :(得分:2)

复制范围。移动到要保留参考的单元格。选择“编辑”菜单时按住Shift键。注意有新的菜单项; “粘贴图片”和“粘贴图片链接”。您想要选择“粘贴图片链接”。现在每当“源”更新或格式改变时,“目的地”将更新。

Sub DemoIt()

    'open excel and vbe windows side-by-side
    '   to see results when break points hit

    'setup values
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "A"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "B"
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "C"

    'select "source" values and copy
    Range("A1:A3").Select
    Selection.Copy

    'move to "destination"
    Range("B1").Select

    'paste the "picture link"
    ActiveSheet.Pictures.Paste(Link:=True).Select
    Application.CutCopyMode = False

    'check out results
    Stop

    'change values
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "99"

    'notice "destination" changed
    Stop

    'change formatting
    Range("A3").Select
    Selection.Font.Size = 20

    'notice formatting changed
    Stop

End Sub

答案 4 :(得分:0)

单个Excel工作簿可以包含多个工作表。一张表中的公式可以引用同一工作簿中另一张表中的单元格。