在两张纸的同一位置插入新行>从上面复制公式

时间:2015-04-08 02:35:32

标签: excel vba excel-vba

我已经为我的工作场所创建了一份跟踪文档,但是我对Excel的有限知识只带我到目前为止。希望那里有人喜欢清理凌乱的工作簿......

我有一份包含两个相关工作表的文档:'年度',涵盖了我设计的表格的大量细节;和'摘要',它真正用于管理用途。 “摘要”中的所有信息都包含在内。页面是对' Annuals'的单元格引用。以及'摘要'页面通常受密码保护,因此公式无法被覆盖。您可以下载我希望实施的较大文档的虚拟副本:Dropbox Link我们在工作中使用Excel 2010,尽管附带的文档最后是在OpenOffice Calc中编辑的。

本文档的基本功能是为每个工作表提供不同程度的信息,大多数原始信息都是手动提供的。我希望它足够动态,用户不需要理解保持单元格引用的重要性 - 他们只需按一个按钮将其任务添加到列表中,程序将填充其余的幕后工作

除了可怕的方式,我在视觉上表明了行标签"层次结构"在C栏中,当有人希望在“年度报告”中插入新行时,我也会遇到问题。页;我还没有找到一种有效的方法来在'摘要'中插入一行。在保持动态公式和格式的同时页面。编写一个宏很难做到这一点,因为我只想在'摘要'中引用某些单元格。页面(虽然我100%确定这是一种方法)。

这是我的尝试:

Public sAddress As String

Sub AddRow()
R = ActiveCell.Row
ActiveCell.Offset(-1).EntireRow.Insert Shift:=xlDown
Range("E" & R & ":G" & R).Copy Destination:=Range("E" & R + 1 & ":G" & R + 1)
Range("T" & R).Copy Destination:=Range("T" & R + 1)
End Sub

Sub DeleteRow()
ActiveCell.EntireRow.Delete
End Sub

Sub AddSummary()
On Error Resume Next
Worksheets("Summary").Activate
If sAddress > "" Then Sh.Range(sAddress).Select
R = ActiveCell.Row
ActiveCell.Offset(-1).EntireRow.Insert Shift:=xlDown
Range("E" & R & ":G" & R).Copy Destination:=Range("E" & R + 1 & ":G" & R + 1)
Range("T" & R).Copy Destination:=Range("T" & R + 1)
End Sub

Sub Variab()
sAddress = ActiveCell.Address
End Sub

Sub Everything()
Call AddRow
Call Variab
Call AddSummary
End Sub

也许可以实施数据透视表?但是,我不知道如何使数据透视表实际工作,更不用说使用户友好或漂亮。我尝试 - 并且失败了 - 制作一个我可以在摘要页面中引用的数据透视表,并向其他用户隐藏,但我没有走得太远。

我知道你可能会对我的工作簿感到震惊,但是如果你能想到我试图跟踪的信息背后的更好的方法(在许多用户中,具有不同程度的计算机知识)那么< em>请让我知道!

1 个答案:

答案 0 :(得分:0)

单击“摘要”选项卡 按住Shift键并单击年度选项卡 插入行。

就是这样!它会在两张纸上插入一个空白行。

如果要将现有行中的数据复制到新创建的行中(如在宏中),请选择上面的两个选项卡,突出显示一行,复制它,然后将其粘贴到新行中。您将看到复制命令已应用于两个工作表,就像您在每个工作表上完成了复制命令一样。