【问题标题】:Adding 1 to existing number in a cell based on value of another cell根据另一个单元格的值将 1 添加到单元格中的现有数字
【发布时间】:2016-02-17 23:43:52
【问题描述】:

好吧,所以我查看了其他解决方案,但我没有得到足够接近的知识以使其发挥作用,所以我希望这里的一些天才可以提供帮助。

基本上,我使用 excel 根据另一个单元格的值自动更新一些数据。我的表格的简化版本如下所示:

ID            Step       Count
526985       - Step 1      8
123569       + Step 3      3
589745       - Not in AMP  1
589465       + Step 2      5
  1. ID 是唯一的,并且总是 6 位数字(仅供参考,如果有帮助的话)。永远不会有没有 ID 值的 Step 列或 count 列值
  2. 我想在 vba 中使用 change val,这样它会随着我自动进行而改变
  3. 目标是让用户不必手动更新“计数”列中的值
  4. 当用户开始在工作表上工作时,“步骤”列将是空白的,并且将从下拉菜单中选择,但“计数”和“ID”将已经填充

我需要什么:

  1. 当在“步骤”中选择“+ Step 1”、“+ Step 2”、“+ Step 3”、“+ Step 3 ext”、“- Step 2”、“- Step 1”的值时ID 列,我需要将“+1”添加到“计数”列中的任何当前值
  2. 当从“Step”列中选择“- Not in AMP”的值时,我需要在“Count”列中将该值设为 0
  3. 我需要忽略“步骤”列中可选择的其他值(保持相同的“计数”列值)
  4. 在“步长”列中选择步长值并更新“计数”列后。我仍然需要能够返回并手动将该值更改为任何其他数字。

我想就是这样。我想过使用我可以做的公式,但问题是我需要能够用另一个值覆盖该值,它将删除公式。不过,我对任何使这项工作有效的事情都持开放态度。提前谢谢!

【问题讨论】:

  • 如果你能用公式做到这一点,那么我想知道你为什么发布这个问题。如果没有,那么您可能不得不研究 VBA:在我看来,您必须在该表上捕获 Change 事件,以防“有人用数据覆盖”您的公式。有关该主题的更多信息,您可能需要查看以下答案:stackoverflow.com/questions/30513655/… 一旦您遇到特定的编码错误,请告诉我们,以便我们提供更具体的帮助。
  • 有了变量和条件的数量,使用VBA脚本不是更好吗?我在这个领域不是很了解,因为有一个基于上一季度工作表结果的季度更新的新工作表,我不想有公式,而是想要实际结果。这样,它们各自保持独立,而不是根据大量先前的公式结果获得公式结果。
  • 了解 VBA 的良好起点可能是以下站点:homeandlearn.org。连同上面提到的解决方案,您应该拥有提出 VBA 解决方案所需的一切。如果您在编写解决方案时遇到特定的 VBA 错误,请告诉我们(在这种情况下,您还应该发布您迄今为止编写的所有 VBA 代码)。
  • “我希望这里的一些天才可以提供帮助。”
  • 亲爱的 OP,如果您真的被 vba 卡住了。我建议您改用带有公式的“隐藏”列/表格。

标签: vba excel


【解决方案1】:

在发生 Change 事件后,您可以检查一些逻辑: - 如果用户在正确的列中添加新值,您会将以前的数据加载到变体中,以执行您为填充添加单元格而提供的逻辑 - 如果没有,让用户更新值。

【讨论】:

    猜你喜欢
    • 2022-06-28
    • 2019-10-04
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多