【问题标题】:Creating a cell that updates to new value using multiple factors创建一个使用多个因子更新为新值的单元格
【发布时间】:2018-07-10 01:07:27
【问题描述】:

我想知道是否可以创建一个公式来更新需要根据数字和字母更新的单元格,或者我需要在 VBA 中创建一个代码。我现在需要的是在将信息输入指定单元格时更新以下值: 如果在 A1 单元格中输入 AA0,则 AA1 应填充在单元格 A2 中,(我想一直使用 AA0 到 AA9,然后转到 AB0,当输入 AB9 时会转到 AC0,然后如果 AZ9在单元格中输入任何这些值时,输入转到 BA0 (我希望我正在做)。我之前在这里为类似的问题提供了巨大的帮助,但这涉及单元格中的所有三个数字/数字作为确定因素,我正在努力寻找它的公式。提前感谢大家的帮助。

编辑添加:所有内容都将输入到一个单元格中。因此,如果有人在 A1 BC4 中输入,A2 将更新为 BC5。我不需要运行列表,这是为了跟踪以前使用的值是什么。

为清晰起见编辑 2 添加照片:

【问题讨论】:

  • 您可能不需要 VBA。如果你展示你已经尝试过的东西,这会有所帮助,即使它没有完全发挥作用。
  • =LEFT(ADDRESS(1,INT((ROW(1:1)-1)/10)+27,4),2)&MOD(ROW(1:1)-1,10) 放入A1并向下复制。
  • =IF(RIGHT(D1,1)="Z",LEFT(D1,LEN(D1)-1)+1)&"A",LEFT(D1,LEN(D1)- 1)&CHAR(CODE(RIGHT(D1,1))+1)),是我在使用字母作为值的最后一部分(即 00a、00b 等)时使用的,但我的新约束是反向(AA1、AB4 等)。我尝试用 9 代替 Z 并用 0 代替 a,但是当我需要它滚动到 AB 时它没有帮助。

标签: excel vba


【解决方案1】:

如果您总是从AA0 开始,请将其放在第一个单元格中并复制下来:

=LEFT(ADDRESS(1,INT((ROW(1:1)-1)/10)+27,4),2)&MOD(ROW(1:1)-1,10)


如果您希望开头是动态的,请将其放入 A2 并复制下来:

=IF(AND(MID(A1,2,1) = "Z",RIGHT(A1)="9"),CHAR(CODE(LEFT(A1))+1),LEFT(A1))&IF(AND(MID(A1,2,1) = "Z",RIGHT(A1)="9"),"A",IF(RIGHT(A1)="9",CHAR(CODE(MID(A1,2,1))+1),MID(A1,2,1)))&IF(RIGHT(A1)="9","0",RIGHT(A1)+1)

【讨论】:

  • 我的问题是该值将始终在变化,并且只会输入到一个单元格中:
  • 然后第二个公式将起作用,将对A1的引用更改为用户将放置字符串的单元格的引用,它将给出序列中的下一个。
  • 这是完美的。太感谢了!第二个公式是我需要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
  • 2022-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多