如何为所有细胞提供参考?

时间:2015-01-28 14:20:51

标签: excel excel-vba excel-formula vba

我正在尝试找出如何引用所有 Sheet1单元格,因此所做的更改将反映在Sheet2单元格中。

现在我在Sheet1中有大数据,我想复制到Sheet2。稍后我将需要更正Sheet1上的数据,因此这应该反映在Sheet2上。因为我还不知道我需要填充多少个单元格,所以我想引用它们。基本上,Sheet2应该镜像Sheet1,可以在Sheet2上添加更多不会反映在Sheet1中的数据。一种“单向镜子”。

我想这不是那么困难,有人可以给出一个例子或解释。

由于

3 个答案:

答案 0 :(得分:0)

使用动态命名范围可能会执行您想要的操作。基本上,我们的想法是创建一个使用OFFSET() - 公式定义的命名范围。这样,只要在范围之外添加新数据,就会自动调整命名范围以包含新数据。

Here is one example of how to do this

答案 1 :(得分:0)

要在 Sheet2 上的 Sheet1 中设置所有已使用单元格的镜像,请使用:

Sub AllTheCellsLinked()
    Dim r As Range
    Set r = Sheets("Sheet1").UsedRange.Cells
    ady = r(1).Address
    Sheets("Sheet2").Select
    Range(ady).Select
    r.Copy
    ActiveSheet.Paste Link:=True
End Sub

这将建立所有已使用单元格的链接。

修改

如果在Sheet1中添加行或列,只需重新运行宏。

答案 2 :(得分:0)

您可以使用worksheet_Change事件。 右键单击工作表选项卡,然后选择查看代码 Right Click Sheet Tab

将此代码复制并粘贴到那里。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim r As Integer
    Dim c As Integer

    r = Target.Row
    c = Target.Column

    Sheets("Sheet3").Cells(r, c) = Target


End Sub

现在无论你在Sheet1上做什么改变都会在sheet3上改变原因(复制和粘贴对此不起作用)。代码在原始表中。更改工作表名称以根据需要进行更改。