【发布时间】:2015-03-05 15:07:45
【问题描述】:
我有一个关于某些代码似乎无法正常工作的问题。 我已经设置了一些代码,我认为这是通过范围的基本循环并替换相邻的行单元格,虽然没有发生错误,但我没有得到想要的结果。
如果有人知道得更好,他们可以查看下面的代码并给我一些建议/解决方法以使事情顺利进行:
For Each cCell In Range("C16,C1000")
'perform action if cell value = "-"
If ActiveCell.Value = "-" Then
'move to adjacent cell
ActiveCell.Offset(0, 1).Select
'change the cell value to "-"
Selection.cell.Value = "-"
Else
ActiveCell.Offset(0, 1).Select
End If
Next cCell
【问题讨论】:
-
您将选择向右移动一个以更改值并且永远不会将您的选择移回,因此您从 C 列开始,一旦遇到“-”,您就会进入D 列。如下面的答案所述,您应避免使用 select 并仅参考 cCell。