作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个范围可以有多个值,但值可以重复。我试图编写一个可以执行此操作的宏,但遇到了障碍。我可以对整个范围内的单元格进行编号,从 1 到范围末尾的计数。这是我到目前为止的代码以及结果的列表。第二个列表是我的最终结果。
Sub Count_Items_Then_Repeat_On_Data_Change()
Dim rng As Range
Dim cell As Range
Dim count As Long
count = 1
Set rng = Application.Selection
For Each cell In rng
cell.Offset(0, 0).Value = cell.Value & "-" & count
count = count + 1
Next cell
End Sub
最佳答案
我不完全确定我是否根据数据理解您的问题以及您似乎正在尝试做什么。
看起来您希望在单元格的原始值更改时重置计数。
如果整个选择是有序的,您可以在更改之前简单地测试下一个单元格,看看计数是否应该像这样重置:
Sub Count_Items_Then_Repeat_On_Data_Change()
Dim rng As Range
Dim cell As Range
Dim count As Long
count = 1
Set rng = Application.Selection
For Each cell In rng
'If the next cell has a different value, reset count after we change this one
If cell.Value <> cell.Offset(1, 0).Value Then
cell.Value = cell.Value & "-" & count
count = 1 'Reset count to 1
Else
cell.Value = cell.Value & "-" & count
count = count + 1
End If
Next cell
End Sub
我也继续更改
cell.Offset(0,0).Value
- 你不需要
.Offset(0,0)
- 它什么都不做;你可以使用
cell.Value
.
关于excel - 如何对一个范围内的一个单元格值进行编号,然后在单元格的值更改时重新开始编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71946051/
我是一名优秀的程序员,十分优秀!