【问题标题】:How to automatically enforce a formula in cells for a newly created row?如何在单元格中为新创建的行自动强制执行公式?
【发布时间】:2012-07-27 03:43:07
【问题描述】:

我有一个用于估计的工作表,其中一些列有一个公式,最重要的是 Column(A) 有一个公式 =ROW(),我将其用作该估计(行项目)的 ID,而 Column(I) 是该行中所有估计值的总和 (=SUM(E2:H2))。

当用户插入新行(新估计)时,我需要确保新行中已经包含所需的公式,我不希望用户需要从其上方的单元格中拖动公式(此没有被精通 Excel 的人使用)。

此外,这应该只对特定范围的行执行(如果不使用,我不想看到 Row750 的 ID/Total),需要有一种方法来告诉它在特定的点(例如,我有一行(13),有 B13="TOTAL" 和 C13=SUM 的总数(总总数),这应该是最后一行,所以如果用户对新行感兴趣,它将在这一行之上,等等……

任何帮助/提示/想法将不胜感激。

【问题讨论】:

  • 你需要一行添加事件:mrexcel.com/forum/…
  • 如果您使用 ROW() 作为 ID,如果有人在表格顶部附近插入新行,您的 ID 会不会全部改变?
  • 是的......您对如何添加唯一 ID 有更好的想法吗?
  • 我不知道不涉及某些 VBA 的 ID 问题的解决方案。您可能最好添加一个按钮来创建新行 - 然后您可以根据需要填充 Id(以及公式)。例如,您可以使用一个单元格(或定义的名称)来保存“下一个”Id,并在每次创建新行时递增它。

标签: excel excel-2010 vba


【解决方案1】:

您可以使用“表格”功能。在 Excel 2003 中,它被称为“列表”。我不确定 2010 年在哪里可以找到此功能。

例如:

将范围定义为 list 表。我使用ROW() 函数对行进行自动编号。下面是它的外观:

它没有解决Tim 提到的问题,但我将其归档在“不是问题”下。我实际上更喜欢动态自动编号。当您插入一行时,自动编号会自动更改:

当你删除一行时,自动编号会调整:

最好的部分是 list 表中的任何公式都会自动填充。除了ROW 公式,我在C 列中添加了SUM 公式,然后添加了一条新记录:

至于在某个时候停止,您需要将公式移动到另一列。该列表将继续向下并且不会仅仅因为您在那里有一个公式而停止。您需要右键单击 list 表,选择“插入 » 行”以使您的公式与 list 表位于相同的列中。

【讨论】:

    猜你喜欢
    • 2012-09-18
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多