【问题标题】:Same value then increment相同的值然后递增
【发布时间】:2013-07-26 00:25:50
【问题描述】:

我是 VBA 新手,需要帮助制作一个宏来基本上查看列中的值是否相同并在另一列中递增。有点混乱,所以这里有一个例子:

INBOUND.T28 1
INBOUND.T28 2
INBOUND.T28 3
INBOUND.T28 4
INBOUND.T29 1
INBOUND.T29 2
INBOUND.T29 3
INBOUND.T29 4
INBOUND.T29 5
INBOUND.T30 1
INBOUND.T30 2
INBOUND.T31 1
INBOUND.T31 2
INBOUND.T31 3

A 列已在文件中,我希望 B 列按上述方式打印。它基本上计算 A 中相同值的数量,并在找到新值时重新开始计数。

我对 VBA 没有任何好处 - 尽管我过去做过 Java,并且基于此我知道我需要使用某种 IF 语句和计数器,例如

value = value + 1 

也许像这样算数?

Range("A1").Value = Range("A1").Value + 1 

请帮忙,我不知道如何做 VBA 和学习它:P 谢谢! ——

【问题讨论】:

  • 你的尝试在哪里?

标签: excel vba increment


【解决方案1】:

假设 'INBOUND.T28' 在 A 列中,而 1 在 B 列中,那么这个公式应该适合 B2

=IF(A1=A2,B1+1,1)

对于第一行数据,如果您的第一行是空白或标签。您可以使用带有Application.WorksheetFunction 的 VBA 填充此列和随后的 B 列行。

【讨论】:

  • 感谢您的快速回答!我试过了,我得到了一个循环参考警告。如果我忽略这一点,它基本上会在 B 列中放置一个 0,直到它达到它为 1 的最后一个相同的值。像这样的东西 INBOUND.T58 0 INBOUND.T58 0 INBOUND.T58 0 INBOUND.T58 1 INBOUND.T59 0
  • 嗨 Pnuts,我把公式放在 B2 中并填写了 - 输出有效!但在 B1 中,我不得不手动输入“1”,非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多