我对某些代码似乎没有为我正常工作提出疑问。 我已经设置了一些代码,我认为它是一个基本的循环范围并替换相邻的行单元格,虽然没有发生错误,但我没有得到理想的结果。
如果有人知道更好,他们可以查看下面的代码并给我一些建议/解决方法让事情滚动:
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
答案 0 :(得分:1)
您应该使用ActiveCell.Value
cCell.Value
另外,请避免使用Select
。这是邪恶的。
例如:
cCell.Offset(0,1).Value = "-"
答案 1 :(得分:0)
是的,避免使用select。但如果必须,你需要这样做。您必须在每次迭代中选择cCell,以便ActiveCell选择它。
您不需要使用Select虽然也不应该,但您仍然可以在不首先选择cCell的情况下更新cCell。正如joseph4tw所述。
For Each cCell In Range("C16,C1000")
'perform action if cell value = "-"
cCell.select
If ActiveCell.Value = "-" Then
'edit adjacent cell
ActiveCell.Offset(0, 1).Value = "-"
End If
Next cCell